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

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

Mary-Kate Olsen
發布: 2025-01-17 12:36:11
原創
574 人瀏覽過

How Can I Retrieve Identity Values After an INSERT Using the OUTPUT Clause?

使用 OUTPUT 子句存取新產生的身分值

將資料插入包含識別列的表中通常需要檢索新產生的 ID。 OUTPUT 子句提供了一種有效的方法來實現此目的,消除了額外查詢的需要。

方法 1:輸出到表格變數

此方法將標識值定向到宣告的表變數。

<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');</code>
登入後複製

@OutputTbl 變數現在保存產生的 ID。

方法 2:輸出到非表變數

某些資料庫系統(如 SQL Server)支援直接輸出到非表變數。 請注意,這並未得到普遍支持; 例如,PostgreSQL 使用 RETURNING 代替。

SQL Server 範例:

<code class="language-sql">DECLARE @ID INT;

INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>
登入後複製

ID 儲存在 @ID 中。

PostgreSQL 範例:

<code class="language-sql">INSERT INTO MyTable (Name, Address, PhoneNo)
RETURNING Id INTO @ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>
登入後複製

這裡,@ID接收回傳的ID。 RETURNING 子句的功能與其他系統中的 OUTPUT 類似。 根據您的特定資料庫系統選擇合適的方法。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板