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>
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>
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>
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!