Insertしたデータの ID(IDENTITY) を取得する方法
SQL Server では、テーブルの列に対して自動でIDを採番してくれる IDENTITY というプロパティがあります。このプロパティが設定されている列については、手動で値を登録することができません。
例えば INSERT 処理後、このIDを使って関連するテーブルへデータを続けて登録したい場合は、以下のように(SCOPE_IDENTITYを使用)すれば直前に採番された ID を取得することができます。
create table [dbo].TEST (
ID int identity not null
, Value nvarchar(50)
);
INSERT INTO TEST([Value]) VALUES ('TEST')
--1が表示される
SELECT SCOPE_IDENTITY()
上記例では TEST テーブルを作成し、1件のデータを登録しています。1件目のデータなので採番された1が表示されます。
コメントを書く