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;
IDENTITY列の番号リセット(SQL Server)
SQLServerで、Identity属性を使用して自動的に番号をセットしている項目があります。
この採番を1からやり直したい時
DBCC CHECKIDENT (tablename ,RESEED ,0)
にて変更可能です。
0の部分を戻したい値に変更する事も可能です。