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

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

DDD
發布: 2025-01-21 23:02:11
原創
191 人瀏覽過

How to Retrieve the Last Inserted ID in SQL Server After an INSERT Statement?

在 SQL Server 中存取新建立的記錄的 ID

本指南示範如何取得 SQL Server 中 aspnet_GameProfiles 表中最近插入的記錄的 ID。 最佳方法取決於您的 SQL Server 版本:

SQL Server 2005 及更高版本(沒有 INSERT 觸發器):

對於較新的 SQL Server 版本,最有效的方法是直接在 OUTPUT 語句中利用 INSERT 子句:

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

隨後,使用 ExecuteScalar():

檢索產生的 ID
<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>
登入後複製
登入後複製

此方法避免了額外的查詢,提高了效能。

SQL Server 2000 或使用 INSERT 觸發器時:

對於較舊的 SQL Server 版本或涉及 INSERT 觸發器的場景,請使用 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>
登入後複製
登入後複製

透過使用這兩種方法中的任何一種,您都可以從 aspnet_GameProfiles 無縫檢索新產生的 ID,從而啟用需要此資訊的後續操作。

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

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