将现有列标识从否更改为是SQL Server

时间:2016-10-14 02:11:45

标签: sql-server

我有一个表Term需要一个脚本来将名为TermID身份规范的存在列从No更改为yes。 任何推荐的脚本都不使用列礼节。

1 个答案:

答案 0 :(得分:1)

创建新的ID列,从旧列复制数据,删除旧列:

EXEC sp_RENAME 'MyTable.TermID' , 'TermID_OLD', 'COLUMN'

ALTER TABLE MyTable
  ADD TermID INT IDENTITY(1,1) NOT NULL

SET IDENTITY_INSERT MyTable ON

UPDATE MyTable
SET TermID = TermID_OLD

SET IDENTITY_INSERT MyTable OFF

ALTER TABLE MyTable DROP COLUMN TermID_OLD