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

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

DDD
DDD原創
2025-01-21 23:02:11239瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn