Heim >Datenbank >MySQL-Tutorial >Wie kann ich Identitätswerte effizient abrufen, nachdem ich mehrere Datensätze in SQL Server eingefügt habe?

Wie kann ich Identitätswerte effizient abrufen, nachdem ich mehrere Datensätze in SQL Server eingefügt habe?

DDD
DDDOriginal
2025-01-04 22:44:42839Durchsuche

How Can I Efficiently Retrieve Identity Values After Inserting Multiple Records in SQL Server?

Mehrere Datensätze einfügen und Identitätswerte abrufen

Wenn Sie mehrere Datensätze in eine Tabelle einfügen, müssen Sie möglicherweise die generierten Identitätswerte für jeden eingefügten Datensatz abrufen. In diesem Fall, in dem Sie Datensätze aus Tabelle B in Tabelle A einfügen und die Identitätswerte der eingefügten Datensätze erhalten möchten, gibt es eine Lösung, die Cursor überflüssig macht.

In SQL Server 2005 können Sie kann die OUTPUT-Klausel nutzen, um diese Aufgabe zu erfüllen. Mit der OUTPUT-Klausel können Sie eine Tabellenvariable angeben, die die Ausgabe der INSERT-Anweisung empfängt, einschließlich der Identitätswerte der neu eingefügten Zeilen.

Hier ist ein Beispiel:

DECLARE @output TABLE (id int)

INSERT INTO A (fname, lname)
OUTPUT INSERTED.ID INTO @output
SELECT fname, lname
FROM B

Von Mit der OUTPUT-Klausel können Sie eine Tabellenvariable namens „@output“ mit den Identitätswerten der eingefügten Datensätze füllen. Anschließend können Sie diese Tabellenvariable abfragen, um die Werte abzurufen:

SELECT *
FROM @output

Mit diesem Ansatz können Sie mehrere Datensätze effizient einfügen und ihre Identitätswerte abrufen, ohne auf Cursor oder zusätzliche Abfragen zurückgreifen zu müssen.

Das obige ist der detaillierte Inhalt vonWie kann ich Identitätswerte effizient abrufen, nachdem ich mehrere Datensätze in SQL Server eingefügt habe?. 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