1 --添加新列 2 ALTER TABLE TABLENAME ADD ID int 3 --賦值 4 UPDATE TABLENAME SET ID = IDENTITY_ID 5 --刪除標識列 6 ALTER TABLE TABLENAME DROP COLUMN IDENTITY_ID
一般來說大概有2種較好的方案. 1.通過添加列來替換標識列 替換法 2.顯示值插入(修改會話中的IDENTITY_INSERT ),臨時性 ,不徹底該表列性質 SET IDENTITY_INSERT [ database_name . [ schema_name ] . ] table { ON | OFF }
顯式值插入 1 --一般是組合使用,已確保會話中IDENTITY_INSERT的完整狀態
關於這種方式,需要注意如下: A.任何時候,一個會話中只有一個表的 IDENTITY_INSERT 屬性可以設置為 ON ,想修改其他表,必須將前一個ON狀態改回OFF B.如果插入值大於表的當前標識值,則 SQL Server 自動將新插入值作為當前標識值使用 C.SET IDENTITY_INSERT 的設置是在執行或運行時設置的
當然還有其他的方案,比如通過系統存儲過程sp_configure 修改列的屬性. 其中選擇看場景吧
內容來源:http://www.5aspx.com/sql/2012/5252.html |