2006/10/28

SQL Server 2005でInsertした瞬間にidentity値を取得

外部キー制約のある2テーブルにレコードをInsertしたい場合、
Insertした瞬間にidentity値を取得したい場合があると思います。
(特にSQL CRL使用時)
その場合はOUTPUT INSERTED.[ID] 構文を用いると、
ExecuteScalar等で比較的楽にidentity値を取得できるのでオススメです。

例:

 INSERT INTO TABLE_A
 OUTPUT INSERTED.TABLE_A_ID
 VALUES (1,2,3)