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
Freigeben: 2025-01-21 22:57:10
Original
522 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren

Ä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>
Nach dem Login kopieren
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage