テーブルにIDENTITYの指定がされた列があるかを調べる (SQL Server 2005) の続きです。
で、テーブルにIDENTITY列があっても、INSERT文を実行したい場合はどうすればよいか
INSERT文の前に
SET IDENTITY_INSERT テーブル名 ON
INSERT文のあとに
SET IDENTITY_INSERT テーブル名 OFF
をすれば良いらしい。
C#で以下のようにしたら(かなり省略して書いてます)、通りました。
strSQL = "SET IDENTITY_INSERT EMP_TBL ON";
strSQL += "INSERT EMP_TBL ~省略~";
strSQL = "SET IDENTITY_INSERT EMP_TBL OFF";
SqlCommand command = new SqlCommand(strSQL, connection);
もっと勉強しないと...