插入多個記錄並取得無遊標的識別值
從子表(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中文網其他相關文章!