Heim >Datenbank >MySQL-Tutorial >Wie kann ich Identitätswerte effizient abrufen, nachdem ich mehrere Datensätze in SQL Server eingefügt habe?
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!