Heim >Datenbank >MySQL-Tutorial >Wie kann ich Identitätswerte nach einer INSERT-Anweisung mithilfe der OUTPUT-Klausel abrufen?

Wie kann ich Identitätswerte nach einer INSERT-Anweisung mithilfe der OUTPUT-Klausel abrufen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-17 12:16:09575Durchsuche

How Can I Retrieve Identity Values After an INSERT Statement Using the OUTPUT Clause?

Effizientes Abrufen neu eingefügter Zeilen-IDs mit der OUTPUT-Klausel von SQL

Datenbankoperationen erfordern häufig das Abrufen der ID einer neu eingefügten Zeile innerhalb derselben Abfrage. In diesem Artikel wird gezeigt, wie Sie die leistungsstarke OUTPUT-Klausel verwenden, um dies in SQL zu erreichen.

SQL-Abfragestruktur

Die OUTPUT-Klausel fügt sich nahtlos in die INSERT-Anweisung ein:

<code class="language-sql">INSERT INTO MyTable (Name, Address, PhoneNo)
OUTPUT INSERTED.Id AS @var  --Retrieves the ID
VALUES ('Yatrix', '1234 Address Stuff', '1112223333');</code>

Anzeige der ID

Die einfachste Methode zeigt die neu generierte ID direkt in den Abfrageergebnissen an:

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

Speichern der ID in einer Variablen

Für komplexere Szenarien, die eine weitere Verarbeitung innerhalb von T-SQL erfordern, verwenden Sie eine Tabellenvariable:

<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');</code>

Dieser Ansatz speichert die generierte ID in @OutputTbl und ermöglicht so nachfolgende Vorgänge in Ihrem T-SQL-Code. Die OUTPUT-Klausel bietet die Flexibilität, bei Bedarf andere relevante Spaltendaten einzubeziehen.

Das obige ist der detaillierte Inhalt vonWie kann ich Identitätswerte nach einer INSERT-Anweisung mithilfe der OUTPUT-Klausel 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