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

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

Mary-Kate Olsen
Freigeben: 2025-01-17 12:36:11
Original
574 Leute haben es durchsucht

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

Zugriff auf neu generierte Identitätswerte mit der OUTPUT-Klausel

Das Einfügen von Daten in Tabellen mit Identitätsspalten erfordert häufig das Abrufen der neu generierten ID. Die OUTPUT-Klausel bietet eine effiziente Möglichkeit, dies zu erreichen und macht zusätzliche Abfragen überflüssig.

Ansatz 1: AUSGABE in eine Tabellenvariable

Diese Methode leitet den Identitätswert an eine deklarierte Tabellenvariable weiter.

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

Die Variable @OutputTbl enthält jetzt die generierte ID.

Ansatz 2: AUSGABE in eine Nicht-Tabellenvariable

Bestimmte Datenbanksysteme (wie SQL Server) unterstützen die direkte Ausgabe in Nicht-Tabellenvariablen. Beachten Sie, dass dies nicht allgemein unterstützt wird. PostgreSQL verwendet beispielsweise RETURNING stattdessen.

SQL Server-Beispiel:

<code class="language-sql">DECLARE @ID INT;

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

Die ID wird in @ID gespeichert.

PostgreSQL-Beispiel:

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

Hier erhält @ID die zurückgegebene ID. Die RETURNING-Klausel funktioniert ähnlich wie OUTPUT in anderen Systemen. Wählen Sie die geeignete Methode basierend auf Ihrem spezifischen Datenbanksystem.

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