在資料表中插入多筆記錄時,您可能會遇到需要擷取每個插入記錄產生的識別值的情況。在這種情況下,如果您要將表 B 中的記錄插入表 A 中並希望取得插入記錄的識別值,則有一個解決方案可以消除對遊標的需要。
在 SQL Server 2005 中,您可以利用 OUTPUT 子句來完成此任務。 OUTPUT 子句可讓您指定一個表變量,該變數將接收 INSERT 語句的輸出,包括新插入行的識別值。
以下是一個範例:
DECLARE @output TABLE (id int) INSERT INTO A (fname, lname) OUTPUT INSERTED.ID INTO @output SELECT fname, lname FROM B
透過使用 OUTPUT 子句,您可以使用插入記錄的識別值填入名為「@output」的表格變數。然後,您可以查詢此表變數來檢索值:
SELECT * FROM @output
這種方法可讓您有效率地插入多筆記錄並取得它們的識別值,而無需訴諸遊標或其他查詢。
以上是在SQL Server中插入多筆記錄後如何有效率地檢索Identity值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!