SQLSERVERでSQLエラー [8101] [S0001]: 列リストが使用されていて、IDENTITY_INSERT が ON のときに限り、テーブルの ID 列に明示的な値を指定できます

SQLSERVERにて、

任意の場所への列追加で一時テーブルを使う必要があった。

しかし、一時テーブルから復元時に下記エラーが発生。

INSERT INTO [テーブル名]
SELECT [カラム...]
FROM #temp

SQLエラー [8101] [S0001]: 列リストが使用されていて、IDENTITY_INSERT が ON のときに限り、テーブル [テーブル名] の ID 列に明示的な値を指定できます。

IDENTITY型のところにそのままINSERTしたからだろうと、

SET IDENTITY_INSERT [テーブル名] ON;

をしたけど変わらない・・・。

改めてSQLを見返すと列リストが無かった!

INSERT INTO [テーブル名]
([カラム...])
SELECT [カラム...]
FROM #temp

2行目のカラム追加で解決。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です