Heim > Datenbank > MySQL-Tutorial > Wie kann ich den Identitätswert nach einer INSERT-Anweisung in SQL abrufen?

Wie kann ich den Identitätswert nach einer INSERT-Anweisung in SQL abrufen?

Linda Hamilton
Freigeben: 2025-01-17 12:31:12
Original
470 Leute haben es durchsucht

How Can I Retrieve the Identity Value After an INSERT Statement in SQL?

Abrufen neu generierter Identitätswerte nach SQL-INSERT-Anweisungen

Nach dem Einfügen von Daten in eine SQL-Tabelle mit einer automatisch inkrementierenden Identitätsspalte müssen Sie häufig auf die neu generierte ID zugreifen. Die OUTPUT-Klausel bietet eine praktische Möglichkeit, dies zu erreichen.

Diese Anleitung veranschaulicht zwei gängige Methoden zum Abrufen von Identitätswerten mithilfe der OUTPUT-Klausel:

Methode 1: Ausgabe an die Konsole (und dann an Ihre Anwendung)

Die einfachste Methode gibt den Identitätswert direkt an die Konsole aus. Dies ist nützlich, wenn Sie einzelne Einfügungen bearbeiten und die ID in Ihrem Anwendungscode abrufen:

<code class="language-sql">INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>
Nach dem Login kopieren

Ihr Anwendungscode (z. B. unter Verwendung von ExecuteScalar() von ADO.NET) kann dann diesen einzelnen Ausgabewert erfassen.

Methode 2: Ausgabe in eine Tabellenvariable (für mehrfache Einfügungen oder Weiterverarbeitung)

Für mehrere Einfügungen oder wenn Sie die generierten IDs in Ihrem T-SQL-Code verarbeiten müssen, verwenden Sie eine Tabellenvariable als Ziel der OUTPUT-Klausel:

<code class="language-sql">DECLARE @OutputTbl TABLE (ID INT);

INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.ID INTO @OutputTbl (ID)
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');

-- Now you can access the ID(s) from @OutputTbl
SELECT ID FROM @OutputTbl;</code>
Nach dem Login kopieren

Mit dieser Methode können Sie mit mehreren eingefügten IDs direkt in Ihrer gespeicherten Prozedur oder Ihrem T-SQL-Skript arbeiten. Sie können auch eine temporäre Tabelle (#temp) oder sogar eine permanente Tabelle als Ausgabeziel verwenden.

Das obige ist der detaillierte Inhalt vonWie kann ich den Identitätswert nach einer INSERT-Anweisung in SQL abrufen?. 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