概要
自動採番の列があるテーブルに追加する場合,通常はその列を省いて新たに採番されるようにするが,データ戻しの場合のように値も指定してInsertしたいときの方法。自動採番を一時的に無視したい。
列リストが使用されていて、「IDENTITY_INSERT が ON のときに限り、テーブル ‘xxxtable’ の ID 列に明示的な値を指定できます」 というエラーが表示されるなど
方法
SET IDENTITY_INSERT テーブル名 ON; 
INSERT INTO テーブル名 
(列1,列2,列3....必ず必要、省略不可) 
SELECT 
  列1,列2,列3....必ず必要、省略不可  
FROM コピー元テーブル WHERE 条件式; 
SET IDENTITY_INSERT テーブル名  OFF;必ず最後は OFF にする。でないと自動採番が無効のままになるらしい
プロパティ
SQL Server 12.0

 
  
  
  
   
      
コメント