Insert時に新しく付与されたIDの取得方法(SQL Server)

IDENTITYプロパティ

SQL Serverに一意のIDを生成させる方法として、列にIDENTITYプロパティを指定する方法があります。 IDENTITYプロパティには次の特徴があります。

   * ひとつのテーブルのひとつの列にしか指定できません。
   * 指定する列のデータ型はint型、bigint型、smallint型、tinyint型、decimal型、numeric型に限ります。
   * (設定により変更可能ですが)基本的に値のセットは出来ません。

IDENTITYを指定した列に値を挿入したい場合は、IDENTITY_INSERTプロパティをONに設定します。 この設定は同一セッション内でのみ有効です。

BEGIN TRANSACTION SERIALIZABLE;

INSERT INTO …

SELECT SCOPE_IDENTITY();

COMMIT TRANSACTION;