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

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

Patricia Arquette
發布: 2024-12-27 13:30:18
原創
993 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板