在 SQL Server INSERT 操作後擷取自動產生的 ID
向 SQL Server 表新增資料通常涉及自動產生的識別列。 本指南示範如何在 INSERT 語句後有效檢索新產生的 ID。 SQL Server 的 OUTPUT
子句提供了一個乾淨的解決方案。
OUTPUT
子句解
OUTPUT
子句可讓您指定要傳回的新插入行中的列。這非常適合捕獲自動生成的 ID。
文法:
<code class="language-sql">INSERT INTO YourTable (column1, column2, ...) OUTPUT Inserted.IDColumn -- Replace IDColumn with your actual ID column name VALUES (value1, value2, ...);</code>
說明:
Inserted
:包含新插入行的臨時表。 它反映了目標表的結構。 IDColumn
:自動產生的身份列的名稱。 將此佔位符替換為您的列的實際名稱。 範例:
假設您有一個 Customers
表:
<code class="language-sql">CREATE TABLE Customers ( CustomerID INT IDENTITY(1, 1) PRIMARY KEY, CustomerName VARCHAR(255) NOT NULL );</code>
要插入新客戶並取得 CustomerID
,請使用:
<code class="language-sql">INSERT INTO Customers (CustomerName) OUTPUT Inserted.CustomerID VALUES ('Acme Corp');</code>
這將傳回新產生的CustomerID
。然後,您可以在進一步的查詢中使用該值或將其儲存在變數中。
重要提示: OUTPUT
子句不限於單一欄位。您可以透過在 OUTPUT
子句中列出以逗號分隔的欄位來從插入的行中檢索多列。
以上是如何在 SQL Server 中檢索 INSERT 後自動產生的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!