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
Linda HamiltonOriginal
2025-01-17 12:31:12471Durchsuche

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>

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>

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!

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