Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menyoal Satu Pangkalan Data Berdasarkan Keputusan daripada Yang Lain dalam SSIS?
Menyiasat Pangkalan Data Berdasarkan Keputusan daripada Pangkalan Data Lain
Dalam SSIS, mendapatkan semula data daripada berbilang pangkalan data boleh menjadi tugas biasa. Artikel ini meneroka tiga kaedah untuk melaksanakan pertanyaan dalam satu pangkalan data berdasarkan hasil yang diperoleh daripada yang lain:
Kaedah 1: Menggunakan Transformasi Carian
Tambah Transformasi Carian untuk mendapatkan semula Senarai ID daripada pangkalan data pertama. Pilih sekurang-kurangnya satu lajur daripada jadual carian. Walau bagaimanapun, untuk menapis baris berdasarkan senarai ID, anda perlu:
Kaedah 2: Menggunakan Tugasan Skrip
Kaedah ini membolehkan anda mengelak daripada memuatkan semua data. Gunakan Tugas Skrip dengan kod VB.NET untuk mendapatkan semula senarai ID dan menyimpannya dalam pembolehubah pengguna. Tetapkan pembolehubah sebagai sumber untuk tugas aliran data seterusnya.
Kaedah 3: Menggunakan Laksanakan Tugasan SQL
Serupa dengan Kaedah 2, tetapi menggunakan Laksanakan Tugasan SQL untuk membina klausa IN. Jalankan arahan SQL berikut untuk mendapatkan set hasil tunggal yang mengandungi senarai ID dan pertanyaan:
DECLARE @str AS VARCHAR(4000) SET @str = '' SELECT @str = @str + CAST([ID] AS VARCHAR(255)) + ',' FROM dbo.MyTable SET @str = 'SELECT * FROM MySecondDB WHERE ID IN (' + SUBSTRING(@str,1,LEN(@str) - 1) + ')' SELECT @str
Simpan hasil dalam pembolehubah pengguna dan tetapkan sifat Pengesahan Kelewatan Tugasan DataFlow kepada Benar.
Dengan memanfaatkan mana-mana kaedah ini, anda boleh menanyakan pangkalan data dengan berkesan berdasarkan hasil yang diperoleh daripada pangkalan data lain, membolehkan anda melaksanakan operasi data yang lebih kompleks dalam SSIS anda pakej.
Atas ialah kandungan terperinci Bagaimana untuk Menyoal Satu Pangkalan Data Berdasarkan Keputusan daripada Yang Lain dalam SSIS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!