要手動將值插入標識列,我使用:
SET identity_insert product ON
INSERT INTO product (PID, ProdName, Qty, Unitprice)
VALUES (10, 'soap', 5400, 22)
首先我洗掉了第 10 行/記錄,然后我使用此命令插入標識值并手動記錄。此命令正在插入記錄。沒關系
我應該在哪里寫命令SET identity_insert product OFF?以及SET identity_insert product OFF命令的用途是什么?
uj5u.com熱心網友回復:
從檔案:
在任何時候,一個會話中只有一個表可以將該
IDENTITY_INSERT屬性設定為ON。
因此,如果您在批處理中要覆寫兩個不同表上自動生成的標識值,則應先將第一個OFF設定為,然后再將第二個設定為ON。
(另外,就像很多事情一樣,如果你改變了默認的東西,把它改回來也不是一個壞主意。)
uj5u.com熱心網友回復:
來自https://docs.microsoft.com/en-us/sql/t-sql/statements/set-identity-insert-transact-sql?view=sql-server-ver15
在任何時候,會話中只有一個表可以將 IDENTITY_INSERT 屬性設定為 ON。如果表已將此屬性設定為 ON,并且為另一個表發出 SET IDENTITY_INSERT ON 陳述句,則 SQL Server 將回傳一條錯誤訊息,指出 SET IDENTITY_INSERT 已設定為 ON 并報告其設定為 ON 的表。
因此,您應該在將其設定到會話中的另一張桌子之前將其關閉。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/361955.html
標籤:sql-server 查询语句 身份列
