首頁 >資料庫 >mysql教程 >SQL Server插入多筆記錄後如何有效率地取得Identity值?

SQL Server插入多筆記錄後如何有效率地取得Identity值?

Patricia Arquette
Patricia Arquette原創
2024-12-27 13:30:181033瀏覽

How to Efficiently Get Identity Values After Inserting Multiple Records in SQL Server?

插入多個記錄並取得無遊標的識別值

從子表(B)插入父表(A)多條記錄是資料管理中的常見任務。通常,需要使用為父表中新插入的記錄產生的識別值來更新子表的記錄。

Microsoft SQL Server 2005 透過 OUTPUT 子句提供了滿足此要求的解決方案。 OUTPUT 子句擷取新插入記錄的識別值並將它們儲存在表變數 (@output) 中。這允許有效率地檢索標識值,而無需使用遊標的開銷。

這裡是一個範例程式碼片段,示範了OUTPUT 子句的用法:

DECLARE @output TABLE (id int)

-- Insert records from table B into table A
Insert into A (fname, lname)
OUTPUT inserted.ID INTO @output
SELECT fname, lname FROM B

-- Retrieve the identity values from @output
select * from @output

透過執行上述命令程式碼中,插入記錄的識別值將儲存在@output表變數中。然後可以使用該變數適當地更新表 B 中的 NewId 欄位。

使用 OUTPUT 子句是在 Microsoft SQL Server 2005 中插入多筆記錄並取得其識別值的一種高效且直接的方法。用於涉及父表和子表的資料操作任務的強大且可維護的解決方案。

以上是SQL Server插入多筆記錄後如何有效率地取得Identity值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn