Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memasukkan Data daripada Berbilang Jadual dengan Cekap ke dalam Jadual Sementara atau Pembolehubah Jadual dalam SQL Server?

Bagaimanakah Saya Boleh Memasukkan Data daripada Berbilang Jadual dengan Cekap ke dalam Jadual Sementara atau Pembolehubah Jadual dalam SQL Server?

Barbara Streisand
Barbara Streisandasal
2024-12-29 12:32:10608semak imbas

How Can I Efficiently Insert Data from Multiple Tables into a Temporary Table or Table Variable in SQL Server?

Memasukkan ke dalam Jadual Sementara atau Pembolehubah Jadual Menggunakan MERGE

Dalam SQL Server, klausa OUTPUT tidak boleh mendapatkan semula data daripada berbilang jadual, menjadikannya mencabar untuk menangkap nilai tertentu semasa operasi sisipan. Walau bagaimanapun, pernyataan MERGE menyediakan penyelesaian kepada isu ini.

Untuk memasukkan data ke dalam jadual sementara atau pembolehubah jadual menggunakan MERGE:

  1. Isi jadual sementara atau pembolehubah jadual dengan pernyataan MERGE . Ini membolehkan anda mendapatkan semula nilai daripada kedua-dua baris yang disisipkan dan data sumber.
  2. Gunakan klausa OUTPUT dalam pernyataan MERGE untuk menentukan lajur yang hendak dikeluarkan.

Berikut ialah contoh:

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 contoh ini, pernyataan MERGE mengisi jadual sementara @MyTableVar dengan nilai Inserted.ID dan Table2.ID. Klausa OUTPUT menentukan bahawa kedua-dua lajur ini harus dikeluarkan ke dalam jadual sementara.

Kaedah ini membolehkan anda menangkap dan bekerja dengan cekap dengan data daripada jadual yang berbeza semasa operasi sisipan menggunakan kuasa pernyataan MERGE dalam SQL Server.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memasukkan Data daripada Berbilang Jadual dengan Cekap ke dalam Jadual Sementara atau Pembolehubah Jadual dalam SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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