SQL SERVER 顯性插入Identity列值

1 --通常是組合使用,已確保會話中IDENTITY_INSERT的完整狀態
2 SET IDENTITY_INSERT TABLENAME ON  --關閉
3 INSERT INTO TABLENAME(IDENTYTY_ID,...) VALUES(...)
4 INSERT INTO TABLENAME(IDENTYTY_ID,...) VALUES(...)
5 INSERT INTO TABLENAME(IDENTYTY_ID,...) VALUES(...)
 SET IDENTITY_INSERT test OFF      --開啓
  test

關於這種方式,須要注意以下:

A.任什麼時候候,一個會話中只有一個表的 IDENTITY_INSERT 屬性能夠設置爲 ON ,想修改其餘表,必須將前一個ON狀態改回OFF

B.若是插入值大於表的當前標識值,則 SQL Server 自動將新插入值做爲當前標識值使用

C.SET IDENTITY_INSERT 的設置是在執行或運行時設置的

D.INSERT 語句內必須指定列名,不然仍會提示「僅當使用了列列表而且 IDENTITY_INSERT 爲 ON 時,才能爲表{TABLENAME} 中的標識列指定顯式值」

相關文章
相關標籤/搜索