2018年6月26日 星期二

[MSSQL] 允許將明確的值插入資料表的識別欄位中

允許將明確的值插入資料表的識別欄位中:

SET IDENTITY_INSERT [table] ON
INSERT INTO [table] ([IdentityID]) VALUES (10)
SET IDENTITY_INSERT [table] OFF

不論何時,工作階段中只能有一份資料表將 IDENTITY_INSERT 屬性設為 ON。 如果已有資料表的這個屬性設為 ON,又針對另一份資料表發出 SET IDENTITY_INSERT ON 陳述式,SQL Server 會傳回一則錯誤訊息,指出 SET IDENTITY_INSERT 已設為 ON,且會報告設為 ON 所針對的資料表。

如果輸入的值大於資料表目前的識別值,SQL Server 會自動利用新插入的值來作為目前的識別值。

SET IDENTITY_INSERT 的設定是在執行階段進行設定,而不是在剖析階段進行設定。

使用者必須擁有資料表,或對資料表擁有 ALTER 權限。

沒有留言:

張貼留言