私は、SQL Serverで自動インクリメントにdecimal
で2014年SQL Serverの:自動インクリメント10進数の列
答えて
私の実際の要件は、私のストアドプロシージャの呼び出しごとにバージョン番号を生成することです。私はこれを以下のように実装しました。
は
create table version(no decimal(2,2)) insert into version(1.0)
以下は私のストアドプロシージャ
Update version set no=(select max(no) from version)+1
select no.version,t.* from table t left join version
宣言を10進数の列が必要ですが、あなただけの選択整数形式で取得します。
CREATE TABLE #Record(id decimal(18,0) identity primary key , name VARCHAR(100))
INSERT INTO #Record(name)SELECT 'name1' UNION ALL SELECT 'name2' SELECT * FROM #Record
あなたが達成したいのかを教えなければならないが、計算され、自動インクリメントノーマル(整数)列に接続されているとして、自動インクリメント進列をエミュレートするための1つの方法は、それを定義することです。例えば:
定義:
create table AutoincrementDecimalTest
(
Id INT NOT NULL IDENTITY(1, 1),
SomeText NVARCHAR(200) NOT NULL,
-- you may declare it as persisted, if the extra space is not problem
AutoincrementDec AS CAST(Id * 0.2 AS NUMERIC(18, 2))
)
hereを指摘したようにもちろん、いくつかの制限は、どのようなあなたの表現のために適用されます。
テスト:
insert into AutoincrementDecimalTest (SomeText) VALUES ('test1'), ('test2')
GO
select * from AutoincrementDecimalTest
GO
ありがとうございます。私の実際の要件は、私のロジックの反復ごとにバージョン番号を生成することです。私は以下のようにこれを達成しました。 は1.0 'DECIMAL(5,2)@var を設定する@ VAR = 1.0' を宣言してから、私のロジックのループの中で、私は、@のヴァール+ 1に設定していると10進変数を開始しました。 ' Set @ var = @ var + 1 print @var' –
あなたの解決策はうまくいくかもしれませんが、セットベースの言い方で考えるべきです - 自動生成による一度に複数の挿入がwhileループで一回の挿入よりもはるかに速いかもしれません。 – Alexei
- 1. SQL Server:自動インクリメントchar pk
- 2. SQL Server CEの自動インクリメントの問題
- 3. SQL Serverの10進数の列に挿入する方法は?
- 4. ブランクの値を持つSQL Server Management Studioの10進数列
- 5. SSMS SQL Server 2008 R2自動インクリメント
- 6. SQL Serverがプライマリキーなしの列を自動的にインクリメント
- 7. SQL Server CEで自動インクリメント列を作成するクエリ。
- 8. 自動インクリメントSQL値
- 9. キー列自動インクリメント
- 10. JPAエンティティのSQL ServerとOracle(自動インクリメント列の問題)の互換性
- 11. MS SQL Server 2012の自動インクリメント&プライマリ/外部キー
- 12. SQL Server:ストアドプロシージャ内の自動インクリメントIDを取得しますか?
- 13. SQL Serverで自動インクリメントIDのMAXを設定する
- 14. SQL Server 2008 - 10進数の理解に問題がある
- 15. SQL Server 2008 R2の10進数からIPアドレスへ
- 16. SQL - 主キー、クラスタードインデックス、自動インクリメント
- 17. SQL - 自動インクリメントIDを
- 18. プライマリキー列の自動インクリメント
- 19. Hbase:列の自動インクリメント
- 20. 10進数の文字列
- 21. KendoUIグリッド10進数の列
- 22. 変数名の自動インクリメント
- 23. SQL Anywhereの自動インクリメントのリセット
- 24. SQLデータベースの16進数値 - 10進数への変換
- 25. SQL長い10進数値の比較
- 26. SQL INSERT INTO:10進数のカンマ
- 27. SQLクエリの乗算10進数
- 28. 自動インクリメントID列の挿入エラー
- 29. SharedPreferencesの自動インクリメント?
- 30. SQL Serverの複数列(10以上)の重複行の数
まずオフの小さな抽出物が...なぜ創造と外部テーブルのupdationましたか?第二に、DPは何人ですか?サンプルデータを提供してください。 – JohnHC
このエラーメッセージが表示されました: 'ID列 'D'は、int型、bigint型、smallint型、tinyint型、または小数点以下の桁数でスケールが0で、ナルナブルでないことが制約されている必要があります。 ' –
@JohnHC自動的に生成されるバージョン番号を与えます。例:1.0、2.0 ,. 。 。 –