Heim >Datenbank >MySQL-Tutorial >Wie kann die OUTPUT-Klausel von SQL Server automatisch generierte Einfügewerte abrufen?

Wie kann die OUTPUT-Klausel von SQL Server automatisch generierte Einfügewerte abrufen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-17 13:21:09435Durchsuche

How Can SQL Server's OUTPUT Clause Retrieve Auto-Generated Insert Values?

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:

  • Die 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:

  • Die OUTPUT-Klausel ist in der Lage, mehrere Spalten abzurufen; Listen Sie einfach die gewünschten Spalten durch Kommas getrennt auf.
  • Seine Funktionalität geht über IDENTITY Spalten hinaus und umfasst auch andere automatisch generierte Spalten wie GUIDs.
  • Die Unterstützung für die 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!

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