主キーを毎回0.1ずつ自動インクリメントしようとしています。0.1から。これは可能ですか?
CREATE TABLE NewTable
(
ID BigInt IDENTITY NOT NULL,
CONSTRAINT PK_ID PRIMARY KEY (ID),
)
主キーを毎回0.1ずつ自動インクリメントしようとしています。0.1から。これは可能ですか?
CREATE TABLE NewTable
(
ID BigInt IDENTITY NOT NULL,
CONSTRAINT PK_ID PRIMARY KEY (ID),
)
いいえ。BigIntは8バイトのinteger
値です。注:MicrosoftSQLServerを想定しています。
いくつかの解決策はビューです:
CREATE VIEW v_NewTable AS
SELECT ID/10
FROM NewTable
いいえ、フィールドのデータ型を変更した場合でも、ID増分は'18桁以下を含むゼロ以外の整数である必要があります'(これはSQLサーバーであると想定しています)
SQL Serverでは、ID列のシードまたは増分に10進値を含めることはできません。
プレゼンテーションの目的で、なぜこれを行う必要があるのでしょうか。もしそうなら、しないでください。必要に応じて、1つのオプションはトリガーを作成することです。代わりにComputed列を使用することを検討することもできます-Idの値の1/10にします(Identityフィールドは1-Identity(1,1)でシードおよびインクリメントされます)。
繰り返しますが、なぜこれを行う必要があるのかわかりません。