Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Memadam Rekod daripada Berbilang Jadual Pelayan SQL Menggunakan INNER JOIN?

Bagaimana untuk Memadam Rekod daripada Berbilang Jadual Pelayan SQL Menggunakan INNER JOIN?

Barbara Streisand
Lepaskan: 2025-01-07 07:10:40
asal
856 orang telah melayarinya

How to Delete Records from Multiple SQL Server Tables Using INNER JOIN?

Memadam Rekod daripada Berbilang Jadual dengan INNER JOIN dalam SQL Server

Tidak seperti MySQL, SQL Server tidak secara langsung menyokong sintaks yang digunakan untuk memadam rekod daripada berbilang jadual menggunakan INNER JOIN. Walau bagaimanapun, penyelesaian boleh dicapai dengan memanfaatkan jadual pseudo "dipadamkan".

Langkah 1: Mulakan Jadual Sementara untuk Menyimpan ID yang Dipadamkan

begin transaction;

declare @deletedIds table ( id int );
Salin selepas log masuk

Langkah 2: Padam daripada Jadual Pertama dan Output Dipadam ID

delete from t1
output deleted.id into @deletedIds
from table1 as t1
inner join table2 as t2
  on t2.id = t1.id
inner join table3 as t3
  on t3.id = t2.id;
Salin selepas log masuk

Langkah 3: Padam daripada Jadual Kedua Menggunakan Jadual Sementara

delete from t2
from table2 as t2
inner join @deletedIds as d
  on d.id = t2.id;
Salin selepas log masuk

Langkah 4: Padam daripada Jadual Tambahan (Pilihan)

delete from t3
from table3 as t3 ...
Salin selepas log masuk

Langkah 5: Komited Transaksi

commit transaction;
Salin selepas log masuk

Nota: Mengeluarkan ID yang dipadamkan daripada pemadaman pertama membolehkan anda terus menyertai untuk pemadaman seterusnya.

Pendekatan Alternatif: Pencetus

Sebagai alternatif, anda boleh mencipta pencetus pada jadual pertama untuk mengendalikan pemadaman rekod berkaitan dalam jadual lain. Pendekatan ini akan memastikan integriti data dalam transaksi tersirat. Walau bagaimanapun, ia memerlukan penyelenggaraan pencetus tambahan dan tidak menyokong syarat gabungan yang kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Memadam Rekod daripada Berbilang Jadual Pelayan SQL Menggunakan INNER JOIN?. 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