2008年02月21日

IDENTITY_INSERTの列に挿入するには・・・

オートナンバー型のIDENTITYに値を挿入すると、エラーになる条件がいくつかあります。
メッセージの種類は他にもいくつかありますが、以下がエラーメッセージの一例。

列リストが使用されていて、IDENTITY_INSERT が ON のときに限り、テーブル 'XXX' の ID 列に明示的な値を指定できます。
このエラーはIDENTITYの項目にINSERT SELECT(列リスト)で挿入しようとしたとき、または、IDENTITY_INSERTがOFFの状態で挿入したときに発生します。

このエラーを回避するにはIDENTITY_INSERTをONにします。
(元に戻すにはONの部分をOFFにします。)

SET IDENTITY_INSERT 'XXX' ON

IDENTITY_INSERTをONに設定できるのはセッション内の1つのテーブルだけなので、ONにして操作した後はすぐOFFに戻しておく癖を付けた方が良いかもしれません。

http://msdn2.microsoft.com/ja-jp/library/ms188059.aspx
posted by ゆぅ☆ at 17:33 | Comment(0) | TrackBack(0) | Transact-SQL
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/85332820

この記事へのトラックバック