在 SQL Server 2008 中控制 IDENTITY_INSERT
在 SQL Server 2008 中將資料插入具有識別列的表中有時需要覆寫自動標識值產生。 當 IDENTITY_INSERT
關閉時嘗試使用指定值直接插入將導致錯誤。
要插入明確值,您需要暫時啟用IDENTITY_INSERT
。 這是使用以下 T-SQL 指令完成的:
<code class="language-sql">SET IDENTITY_INSERT DatabaseName.SchemaName.TableName ON;</code>
分別將 DatabaseName
、SchemaName
和 TableName
替換為您的資料庫、架構和表格名稱。
現在您可以為識別列插入具有指定值的資料:
<code class="language-sql">INSERT INTO YourTable (IdentityColumn, Column2, Column3, ...) VALUES (YourIdentityValue, Value2, Value3, ...);</code>
至關重要的是,總是記住在插入完成後停用IDENTITY_INSERT
:
<code class="language-sql">SET IDENTITY_INSERT YourTable OFF;</code>
未能關閉IDENTITY_INSERT
可能會導致不一致和錯誤。
或者,您可以透過 SQL Server Management Studio (SSMS) 管理此設定。 在物件資源管理器中找到您的表,右鍵單擊,選擇“屬性”,導航至“身分規格”選項卡,然後選取“允許 IDENTITY_INSERT”。 但是,請記住這是 T-SQL 命令的 GUI 等效項;基本機制保持不變。 直接 T-SQL 控制提供了更多的程式設計彈性。
以上是如何在 SQL Server 2008 中管理 IDENTITY_INSERT?的詳細內容。更多資訊請關注PHP中文網其他相關文章!