在 SQL INSERT 語句後檢索新產生的識別值
通常,在將資料插入具有自動遞增識別列的 SQL 表後,您需要存取新產生的 ID。 OUTPUT
子句提供了一種實現此目的的便捷方法。
本指南說明了使用 OUTPUT
子句檢索身分值的兩種常見方法:
方法一:輸出到控制台(然後輸出到您的應用程式)
最簡單的方法將身分值直接輸出到控制台。 這在處理單一插入並檢索應用程式程式碼中的 ID 時非常有用:
<code class="language-sql">INSERT INTO MyTable (Name, Address, PhoneNo) OUTPUT INSERTED.ID VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>
您的應用程式程式碼(例如,使用 ADO.NET 的 ExecuteScalar()
)可以擷取此單一輸出值。
方法 2:輸出到表格變數(用於多次插入或進一步處理)
對於多次插入或需要在 T-SQL 程式碼中處理產生的 ID 時,請使用表格變數作為 OUTPUT
子句的目標:
<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 access the ID(s) from @OutputTbl SELECT ID FROM @OutputTbl;</code>
此方法可讓您直接在預存程序或 T-SQL 腳本中使用多個插入的 ID。 您也可以使用臨時表(#temp
)甚至永久表作為輸出目標。
以上是如何在 SQL 中檢索 INSERT 語句後的 Identity 值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!