存取 SQL Server 中自動產生的金鑰
使用包含自動產生 ID 資料列的 SQL Server 表時,有效檢索新產生的值至關重要。 本指南示範了一種使用 SQL Server 內建功能的簡單有效的方法。
解:
INSERT ... OUTPUT
語句提供了一種在單一操作中插入行並同時捕獲生成的鍵的簡潔方法。 其工作原理如下:
<code class="language-sql">INSERT INTO table (name) OUTPUT Inserted.ID VALUES ('bob');</code>
在此範例中,table
表示表中的 ID
欄位配置為識別列或使用支援自動值產生的資料類型(如 GUID)。 OUTPUT
子句將新插入的行的列(包括產生的 ID
)定向到臨時結果集。
Inserted
別名提供對此臨時結果集的訪問,允許使用 ID
檢索 Inserted.ID
。
實際應用:
要將產生的 ID
儲存在變數中,請使用以下命令:
<code class="language-sql">DECLARE @id INT; INSERT INTO table (name) OUTPUT @id = Inserted.ID VALUES ('bob'); SELECT @id;</code>
這種方法不僅限於身分列;它還可以與其他自動產生的列一起使用,例如 GUID。 例如:
<code class="language-sql">INSERT INTO table (guid) OUTPUT Inserted.guid VALUES (NEWID());</code>
這將插入帶有 GUID 列的行並立即檢索產生的 GUID 值。
以上是如何在 SQL Server 中檢索自動產生的鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!