Identitätswerte bei Masseneinfügungen in SQL Server 2005 abrufen
Beim Einfügen mehrerer Datensätze aus einer Tabelle in eine andere kann es hilfreich sein, sie abzurufen die den neu eingefügten Datensätzen zugewiesenen Identitätswerte. Dies ermöglicht effiziente Aktualisierungen der Quelltabelle mit Fremdschlüsseln, die auf die Zieltabelle verweisen.
Datensätze einfügen und Identitätswerte abrufen
In diesem Fall möchten wir Datensätze einfügen aus Tabelle B in Tabelle A und rufen Sie die Identitätswerte der neu eingefügten Datensätze ab, um das Feld „NewId“ in der Tabelle zu aktualisieren B.
Verwendung der OUTPUT-Klausel
MS SQL Server 2005 stellt die OUTPUT-Klausel bereit, mit der Benutzer die während eines Datenänderungsvorgangs eingefügten Werte erfassen können. In diesem Fall können wir es wie folgt verwenden:
DECLARE @output TABLE (id int) Insert into A (fname, lname) OUTPUT inserted.ID INTO @output SELECT fname, lname FROM B select * from @output
Durch die Verwendung der OUTPUT-Klausel erstellen wir eine Tabellenvariable @output, um die Identitätswerte zu speichern. Die eingefügte.ID bezieht sich auf den Identitätswert des neu eingefügten Datensatzes in Tabelle A.
Nach der Ausführung der Einfügeanweisung enthält die @output-Tabelle die Identitätswerte, die den aus Tabelle B eingefügten Zeilen entsprechen. Sie können Verwenden Sie diese Werte dann, um das Feld „NewId“ in Tabelle B zu aktualisieren, ohne dass Cursor erforderlich sind.
Das obige ist der detaillierte Inhalt vonWie kann ich Identitätswerte nach Masseneinfügungen in SQL Server 2005 abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!