Einfügen in eine temporäre Tabelle oder Tabellenvariable mit MERGE
In SQL Server kann die OUTPUT-Klausel keine Daten aus mehreren Tabellen abrufen, was dies schwierig macht Erfassen Sie bestimmte Werte während Einfügevorgängen. Die MERGE-Anweisung bietet jedoch eine Lösung für dieses Problem.
So fügen Sie Daten mit MERGE in eine temporäre Tabelle oder Tabellenvariable ein:
Hier ist ein Beispiel:
MERGE INTO Table3 USING ( SELECT null as col2, 110 as col3, Table1.ID as col4, Table2.Column2 as col5, Table2.Id as col6 FROM Table1 JOIN Table1Table2Link on Table1.ID=Table1Table2Link.Column1 JOIN Table2 on Table1Table2Link.Column2=Table2.ID ) AS s ON 1 = 0 -- Always not matched WHEN NOT MATCHED THEN INSERT (Column2, Column3, Column4, Column5) VALUES (s.col2, s.col3, s.col4, s.col5) OUTPUT Inserted.ID, s.col6 INTO @MyTableVar (insertedId, Table2Id);
In diesem Beispiel füllt die MERGE-Anweisung die temporäre Tabelle @MyTableVar mit der Inserted.ID und Table2.ID-Werte. Die OUTPUT-Klausel gibt an, dass diese beiden Spalten in die temporäre Tabelle ausgegeben werden sollen.
Mit dieser Methode können Sie Daten aus verschiedenen Tabellen während Einfügevorgängen mithilfe der Leistungsfähigkeit von MERGE-Anweisungen in SQL Server effizient erfassen und bearbeiten.
Das obige ist der detaillierte Inhalt vonWie kann ich Daten aus mehreren Tabellen effizient in eine temporäre Tabelle oder Tabellenvariable in SQL Server einfügen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!