首頁 > 資料庫 > mysql教程 > 如何在 SQL Server 中檢索最後插入的 ID?

如何在 SQL Server 中檢索最後插入的 ID?

Barbara Streisand
發布: 2025-01-21 22:57:10
原創
522 人瀏覽過

How to Retrieve the Last Inserted ID in SQL Server?

取得最後插入行的ID

在使用 SQL Server 資料庫和自動遞增主鍵時,存取最近新增的記錄的 ID 是常見的需求。 本指南概述了實現此目的的幾種方法,考慮到不同的 SQL Server 版本和插入觸發器的潛在存在。

SQL Server 2005 及更高版本(無插入觸發器)

對於 2005 及更高版本,簡化的方法是將 OUTPUT INSERTED.ID 子句直接合併到 INSERT 語句中。該子句有效地傳回新插入行的 ID。 這是一個例子:

<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId)
OUTPUT INSERTED.ID
VALUES (@UserId, @GameId);</code>
登入後複製

然後可以透過 ExecuteScalar() 物件的 SqlCommand 方法輕鬆存取新產生的 ID:

<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>
登入後複製
登入後複製

SQL Server 2000 或存在插入觸發器時

在 SQL Server 2000 或涉及插入觸發器的場景中,需要稍微不同的策略:

  1. 執行標準INSERT語句。
  2. 使用SCOPE_IDENTITY()函數檢索最後插入的身份值。
<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId)
VALUES (@UserId, @GameId);
SELECT SCOPE_IDENTITY();</code>
登入後複製

與之前的方法類似,可以使用ExecuteScalar()來取得結果ID:

<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>
登入後複製
登入後複製

這些方法提供了高效可靠的方法來檢索最後插入行的 ID,從而實現與後續資料庫操作的無縫整合。

以上是如何在 SQL Server 中檢索最後插入的 ID?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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