Zugriff auf die ID des neu erstellten Datensatzes in SQL Server
Diese Anleitung zeigt, wie Sie die ID des zuletzt in die aspnet_GameProfiles
-Tabelle in SQL Server eingefügten Datensatzes erhalten. Die optimale Methode hängt von Ihrer SQL Server-Version ab:
SQL Server 2005 und höher (ohne INSERT-Trigger):
Der effizienteste Ansatz für neuere SQL Server-Versionen besteht darin, die OUTPUT
-Klausel direkt in der INSERT
-Anweisung zu nutzen:
<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId) OUTPUT INSERTED.ID VALUES (@UserId, @GameId);</code>
Anschließend rufen Sie die generierte ID mit ExecuteScalar()
:
<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>
Diese Methode vermeidet eine zusätzliche Abfrage und verbessert so die Leistung.
SQL Server 2000 oder bei Verwendung von INSERT-Triggern:
Für ältere SQL Server-Versionen oder Szenarien mit INSERT
-Triggern verwenden Sie die Funktion SCOPE_IDENTITY()
:
<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId) VALUES (@UserId, @GameId); SELECT SCOPE_IDENTITY();</code>
Auf die abgerufene ID kann dann mit ExecuteScalar()
:
<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>
Mit einer dieser Methoden können Sie die neu generierte ID nahtlos von aspnet_GameProfiles
abrufen und so nachfolgende Vorgänge ermöglichen, die diese Informationen erfordern.
Das obige ist der detaillierte Inhalt vonWie rufe ich die zuletzt eingefügte ID in SQL Server nach einer INSERT-Anweisung ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!