SQL Server Advent Calendar 13日目 です。
普段は必要無いですが、たまに IDENTITY 列に明示的に値を指定して INSERT したくなる時があります。
そんな時は、
SET IDENTITY_INSERT (Transact-SQL)
を使うことで、明示的に値を指定出来ます。
create table TestTable ( id int identity(1, 1) not null primary key, Name nvarchar(10) ) insert into TestTable ( Name ) values ( 'aaa' ) -- 成功 insert into TestTable ( Id, Name ) values ( 1000, 'bbb' ) -- 失敗
set identity_insert TestTable on insert into TestTable ( Id, Name ) values ( 1000, 'bbb' ) -- 成功