Mehrere Datensätze einfügen und Identitätswert ohne Cursor erhalten
Mehrere Datensätze aus einer untergeordneten Tabelle (B) in eine übergeordnete Tabelle (A) einfügen ist eine häufige Aufgabe im Datenmanagement. Oft besteht die Notwendigkeit, die Datensätze der untergeordneten Tabelle mit den Identitätswerten zu aktualisieren, die für die neu eingefügten Datensätze in der übergeordneten Tabelle generiert wurden.
Microsoft SQL Server 2005 bietet durch die OUTPUT-Klausel eine Lösung für diese Anforderung. Die OUTPUT-Klausel erfasst die Identitätswerte der neu eingefügten Datensätze und speichert sie in einer Tabellenvariablen (@output). Dies ermöglicht ein effizientes Abrufen der Identitätswerte ohne den Mehraufwand für die Verwendung eines Cursors.
Hier ist ein Beispielcode-Snippet, das die Verwendung der OUTPUT-Klausel demonstriert:
DECLARE @output TABLE (id int) -- Insert records from table B into table A Insert into A (fname, lname) OUTPUT inserted.ID INTO @output SELECT fname, lname FROM B -- Retrieve the identity values from @output select * from @output
Durch Ausführen des oben Gesagten Code werden die Identitätswerte der eingefügten Datensätze in der Tabellenvariablen @output gespeichert. Diese Variable kann dann verwendet werden, um die NewId-Spalte in Tabelle B entsprechend zu aktualisieren.
Die Verwendung der OUTPUT-Klausel ist ein effizienter und unkomplizierter Ansatz zum Einfügen mehrerer Datensätze und zum Abrufen ihrer Identitätswerte in Microsoft SQL Server 2005. Sie bietet eine Robuste und wartbare Lösung für Datenmanipulationsaufgaben mit übergeordneten und untergeordneten Tabellen.
Das obige ist der detaillierte Inhalt vonWie kann ich Identitätswerte nach dem Einfügen mehrerer Datensätze in SQL Server effizient abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!