Zugriff auf automatisch generierte Schlüssel nach dem INSERT in SQL Server
Oft benötigen Sie nach einer INSERT-Operation den Wert eines automatisch generierten Schlüssels. Die OUTPUT
-Klausel von SQL Server bietet eine optimierte Methode, um dies zu erreichen, besonders nützlich ab SQL Server 2008.
Anschauliches Beispiel:
Angenommen, wir haben eine Tabelle namens „Person“ mit den Spalten „id“ (automatisch generiert) und „Name“. Um einen Datensatz mit dem Namen „bob“ hinzuzufügen und die neu generierte ID zu erhalten, verwenden Sie diesen Befehl:
<code class="language-sql">INSERT INTO person (name) OUTPUT Inserted.id VALUES ('bob');</code>
Aufschlüsselung:
OUTPUT
-Klausel steuert die Rückgabe des Werts einer angegebenen Spalte – in diesem Fall „id“ – aus der neu eingefügten Zeile.Inserted
fungiert als Pseudotabelle, die die gerade eingefügte Zeile darstellt.Inserted.id
weist SQL Server explizit an, den „id“-Wert aus der eingefügten Zeile abzurufen.Weitere Überlegungen:
OUTPUT
-Klausel ist in der Lage, mehrere Spalten abzurufen; Listen Sie einfach die gewünschten Spalten durch Kommas getrennt auf.IDENTITY
Spalten hinaus und umfasst auch andere automatisch generierte Spalten wie GUIDs.OUTPUT
-Klausel beginnt mit SQL Server 2005.Das obige ist der detaillierte Inhalt vonWie kann die OUTPUT-Klausel von SQL Server automatisch generierte Einfügewerte abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!