25

For a sql script I'm working on, I need to programmatically remove the identity, identity seed, and identity increment for a column in an existing table, then add them back to the table at the end of the script. Does anyone have a reference or an example on how to do this?

Ivan Ferić
  • 4,725
  • 11
  • 37
  • 47
quillbreaker
  • 6,119
  • 3
  • 29
  • 47

2 Answers2

45

You should do this:

SET IDENTITY_INSERT <TableName> ON
-- Do the inserting in the table with name <TableName>
SET IDENTITY_INSERT <TableName> OFF

For more details look in the MSDN.

Ivan Ferić
  • 4,725
  • 11
  • 37
  • 47
8

Yes, you just do this:

SET IDENTITY_INSERT [TABLE] ON

And then back on:

SET IDENTITY_INSERT [TABLE] OFF

This will allow you to enter manual data in the identity column.

http://msdn.microsoft.com/en-us/library/ms188059.aspx

Dustin Laine
  • 37,935
  • 10
  • 86
  • 125