Memasukkan dan Mengeluarkan Data Menggunakan MERGE dalam SQL Server
Dalam pertanyaan ini, kami berusaha untuk memasukkan data ke dalam Jadual3 menggunakan pernyataan SELECT dan menangkap kedua-dua ID yang dimasukkan dan nilai lajur lain daripada jadual lain. Percubaan awal menggunakan klausa OUTPUT gagal kerana rujukan jadual silang.
Untuk mengatasi had ini, kami memanfaatkan pernyataan MERGE. Dengan mengisi Jadual3 menggunakan pernyataan MERGE, kami boleh menggunakan nilai daripada kedua-dua data yang dimasukkan dan data sumber dalam klausa output.
Berikut ialah pertanyaan yang disemak:
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);
Dalam pertanyaan ini:
Dengan menggunakan MERGE dalam ini Dengan cara ini, kami boleh memasukkan data dan menangkap maklumat tambahan daripada berbilang jadual, termasuk ID yang dimasukkan, dalam satu pernyataan.
Atas ialah kandungan terperinci Bagaimanakah Pernyataan MERGE SQL Server Boleh Memasukkan Data dan Keluarkan Berbilang Lajur daripada Jadual Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!