Rumah > pangkalan data > tutorial mysql > Bagaimanakah Pernyataan MERGE SQL Server Boleh Memasukkan Data dan Keluarkan Berbilang Lajur daripada Jadual Berbeza?

Bagaimanakah Pernyataan MERGE SQL Server Boleh Memasukkan Data dan Keluarkan Berbilang Lajur daripada Jadual Berbeza?

Linda Hamilton
Lepaskan: 2024-12-27 10:04:14
asal
930 orang telah melayarinya

How Can SQL Server's MERGE Statement Insert Data and Output Multiple Columns from Different Tables?

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); 
Salin selepas log masuk

Dalam pertanyaan ini:

  • Pernyataan MERGE mengisi Jadual3 dengan data daripada subquery.
  • Klausa OUTPUT menentukan bahawa kedua-dua ID yang disisipkan dan Table2.ID hendaklah dioutputkan kepada jadual sementara @MyTableVar.
  • Klausa WHEN NOT MATCHED memastikan bahawa data dimasukkan jika ia belum wujud dalam Jadual3.

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan