Heim >Datenbank >MySQL-Tutorial >Wie rufe ich die automatisch generierte ID nach einem INSERT in SQL Server ab?

Wie rufe ich die automatisch generierte ID nach einem INSERT in SQL Server ab?

Susan Sarandon
Susan SarandonOriginal
2025-01-17 13:16:11862Durchsuche

How to Retrieve the Auto-Generated ID After an INSERT in SQL Server?

Abrufen automatisch generierter IDs nach SQL Server INSERT-Vorgängen

Das Hinzufügen neuer Daten zu einer SQL Server-Tabelle erfordert häufig automatisch generierte Identitätsspalten. In dieser Anleitung wird gezeigt, wie Sie die neu generierte ID nach einer INSERT-Anweisung effizient abrufen können. Die OUTPUT-Klausel von SQL Server bietet eine saubere Lösung.

Die OUTPUT Klausellösung

Mit der OUTPUT-Klausel können Sie Spalten aus der neu eingefügten Zeile angeben, die zurückgegeben werden sollen. Dies ist ideal zum Erfassen der automatisch generierten ID.

Syntax:

<code class="language-sql">INSERT INTO YourTable (column1, column2, ...)
OUTPUT Inserted.IDColumn  -- Replace IDColumn with your actual ID column name
VALUES (value1, value2, ...);</code>

Erklärung:

  • Inserted: Eine temporäre Tabelle, die die neu eingefügte Zeile enthält. Es spiegelt die Struktur Ihrer Zieltabelle wider.
  • IDColumn: Der Name Ihrer automatisch generierten Identitätsspalte. Ersetzen Sie diesen Platzhalter durch den tatsächlichen Namen Ihrer Spalte.

Anschauliches Beispiel:

Angenommen, Sie haben eine CustomersTabelle:

<code class="language-sql">CREATE TABLE Customers (
  CustomerID INT IDENTITY(1, 1) PRIMARY KEY,
  CustomerName VARCHAR(255) NOT NULL
);</code>

Um einen neuen Kunden einzufügen und das CustomerID zu erhalten, verwenden Sie:

<code class="language-sql">INSERT INTO Customers (CustomerName)
OUTPUT Inserted.CustomerID
VALUES ('Acme Corp');</code>

Dies gibt das neu generierte CustomerID zurück. Sie können diesen Wert dann in weiteren Abfragen verwenden oder in einer Variablen speichern.

Wichtiger Hinweis: Die OUTPUT-Klausel ist nicht auf eine einzelne Spalte beschränkt. Sie können mehrere Spalten aus der eingefügten Zeile abrufen, indem Sie sie durch Kommas getrennt in der OUTPUT-Klausel auflisten.

Das obige ist der detaillierte Inhalt vonWie rufe ich die automatisch generierte ID nach einem INSERT in SQL Server ab?. 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