Menyertai Jadual daripada Pangkalan Data Berbeza
Bolehkah operasi gabungan SQL dilakukan merentas jadual daripada pangkalan data yang berbeza? Jika ya, bagaimanakah ia dicapai?
Jawapan:
Ya, SQL Server membolehkan penyatuan jadual daripada pangkalan data berasingan yang berada pada pelayan yang sama. Prosedur penyertaan yang diubah suai adalah seperti berikut:
Kelayakan Nama Jadual Penuh:
Dalam gabungan antara pangkalan data, adalah penting untuk melayakkan sepenuhnya nama jadual dengan menyatakan kedua-dua nama pangkalan data dan skema jadual (jika berkenaan). Ini memastikan SQL Server dapat mengenal pasti jadual yang dicantumkan dengan jelas.
Contoh:
Pertimbangkan dua pangkalan data pada pelayan yang sama: Db1 dan Db2. Db1 mengandungi jadual "Pelanggan" dengan lajur "ClientId", manakala Db2 mempunyai jadual "Mesej" dengan lajur "ClientId".
Sertai Pertanyaan:
select * from Db1.dbo.Clients c join Db2.dbo.Messages m on c.ClientId = m.ClientId
Dalam pertanyaan ini, skema "dbo" dinyatakan secara eksplisit untuk kedua-dua jadual, kerana ia adalah skema lalai dalam Pelayan SQL. Dengan melayakkan nama jadual dengan nama pangkalan data masing-masing, operasi gabungan boleh berjaya memautkan jadual daripada pangkalan data yang berbeza.
Atas ialah kandungan terperinci Bolehkah SQL Menyertai Jadual Merentasi Pangkalan Data Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!