SQLServerの自動採番列(IDENTITY列)に値をINSERTする方法です。
構文
対象のテーブルに対して以下のコマンドを実行すればOKです。
- (自動採番列にINSERTできるようにする)
- SET IDENTITY_INSERT <テーブル名> ON;
- (自動採番列にINSERTできないようにする)
- SET IDENTITY_INSERT <テーブル名> OFF;
サンプル
例として、IDENTITY_INSERTがOFFの場合にIDENTITY列にINSERTしようとした場合は以下のようなエラーが発生します。
- (結果)
- メッセージ 544、レベル 16、状態 1、行 1 IDENTITY_INSERT が OFF に設定されているときは、テーブル 'M_SYOHIN' の ID 列に明示的な値を挿入できません。
備考
- IDENTITY_INSERTがONの状態からOFFの状態にした後にされる発番は、最大値+IDENTITYの増分です。