首頁 >資料庫 >mysql教程 >如何使用 SQL Server 的 OUTPUT 子句在 INSERT 語句後檢索識別值?

如何使用 SQL Server 的 OUTPUT 子句在 INSERT 語句後檢索識別值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-17 12:26:10204瀏覽

How Can I Retrieve Identity Values After an INSERT Statement Using SQL Server's OUTPUT Clause?

使用 SQL Server 的 OUTPUT 子句檢索新產生的識別值

將資料插入 SQL Server 資料庫時,通常需要為插入的行新產生的識別值。 OUTPUT 子句提供了一種乾淨而有效的方法來完成此任務。 本文探討了兩種主要方法。

方法一:輸出到控制台或使用ExecuteScalar()

為了在非 T-SQL 上下文(如 .NET 應用程式)中快速偵錯或檢索識別值,OUTPUT 子句可以將值直接傳送到 SSMS 控制台或使用 ExecuteScalar() 擷取。

<code class="language-sql">INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')</code>

在 .NET 中:

<code class="language-csharp">int newId = command.ExecuteScalar();</code>

方法二:輸出到表格變數或臨時表

對於需要 T-SQL 預存程序或批次中的識別值的場景,表變數或臨時表提供了強大的解決方案。 OUTPUT 子句將插入的識別值定向到該表中,從而能夠在 T-SQL 環境中進行進一步處理。

<code class="language-sql">DECLARE @OutputTbl TABLE (ID INT)

INSERT INTO MyTable(Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl(ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333')

-- Now you can use the ID from @OutputTbl
SELECT ID FROM @OutputTbl;</code>

這些技術使開發人員能夠無縫地從 INSERT 語句中檢索產生的識別值,從而促進偵錯、將值返回到應用程式並啟用複雜的 T-SQL 工作流程。

以上是如何使用 SQL Server 的 OUTPUT 子句在 INSERT 語句後檢索識別值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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