Heim >Datenbank >MySQL-Tutorial >Wie rufe ich die zuletzt eingefügte ID in SQL Server ab?

Wie rufe ich die zuletzt eingefügte ID in SQL Server ab?

Barbara Streisand
Barbara StreisandOriginal
2025-01-21 22:57:10608Durchsuche

How to Retrieve the Last Inserted ID in SQL Server?

Ermitteln der ID der zuletzt eingefügten Zeile

Bei der Arbeit mit SQL Server-Datenbanken und automatisch inkrementierenden Primärschlüsseln ist der Zugriff auf die ID des zuletzt hinzugefügten Datensatzes eine häufige Anforderung. In diesem Leitfaden werden verschiedene Methoden beschrieben, um dies zu erreichen, wobei unterschiedliche SQL Server-Versionen und das mögliche Vorhandensein von Einfügetriggern berücksichtigt werden.

SQL Server 2005 und höher (ohne Einfügetrigger)

Für Versionen ab 2005 besteht ein optimierter Ansatz darin, die OUTPUT INSERTED.ID-Klausel direkt in Ihre INSERT-Anweisung zu integrieren. Diese Klausel gibt effizient die ID der neu eingefügten Zeile zurück. Hier ist ein Beispiel:

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

Die neu generierte ID ist dann über die ExecuteScalar()-Methode Ihres SqlCommand-Objekts:

leicht zugänglich
<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>

SQL Server 2000 oder wenn Einfügetrigger vorhanden sind

In SQL Server 2000 oder Szenarios mit Einfügetriggern ist eine etwas andere Strategie erforderlich:

  1. Führen Sie die Standardanweisung INSERT aus.
  2. Verwenden Sie die Funktion SCOPE_IDENTITY(), um den zuletzt eingefügten Identitätswert abzurufen.
<code class="language-sql">INSERT INTO aspnet_GameProfiles (UserId, GameId)
VALUES (@UserId, @GameId);
SELECT SCOPE_IDENTITY();</code>

Ähnlich wie bei der vorherigen Methode kann ExecuteScalar() verwendet werden, um die resultierende ID zu erhalten:

<code class="language-csharp">Int32 newId = (Int32)myCommand.ExecuteScalar();</code>

Diese Methoden bieten effiziente und zuverlässige Möglichkeiten zum Abrufen der ID der zuletzt eingefügten Zeile und ermöglichen so eine nahtlose Integration mit nachfolgenden Datenbankvorgängen.

Das obige ist der detaillierte Inhalt vonWie rufe ich die zuletzt eingefügte ID in SQL Server ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn