SQL Server で主キーの自動インクリメントを設定する方法

SQL Server では、次の方法から主キーの自動増加を設定できます。

  1. IDENTITY(1,1)
CREATE TABLE TableName (
ID INT IDENTITY(1,1) PRIMARY KEY,
Column1 datatype1,
Column2 datatype2,
...
);
  1. SEQUENCE オブジェクトの使用: テーブルを作成したら、SEQUENCE オブジェクトを使用して自動採番シーケンスを定義し、主キー列でその SEQUENCE オブジェクトを参照する。サンプルコードを以下に示す。
CREATE SEQUENCE SequenceName
AS INT
START WITH 1
INCREMENT BY 1
MINVALUE 1
NO MAXVALUE
NO CYCLE;
CREATE TABLE TableName (
ID INT DEFAULT NEXT VALUE FOR SequenceName PRIMARY KEY,
Column1 datatype1,
Column2 datatype2,
...
);
  1. トリガーを使用する:テーブル作成時に、データ挿入時に主キーカラムに自動採番値を与えるトリガーを作成します。コード例は次のとおりです。
CREATE TABLE TableName (
ID INT PRIMARY KEY,
Column1 datatype1,
Column2 datatype2,
...
);
CREATE TRIGGER TriggerName
ON TableName
INSTEAD OF INSERT
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO TableName (ID, Column1, Column2, ...)
SELECT NEXT VALUE FOR SequenceName, Column1, Column2, ...
FROM inserted;
END;

上記は3つの主キー自動増分設定方法で、具体的なニーズに応じて適切な方法を選択して実現することができます。

bannerAds