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

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

Mary-Kate Olsen
Lepaskan: 2025-01-07 06:51:43
asal
1025 orang telah melayarinya

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

Memadam daripada Berbilang Jadual dengan INNER JOIN dalam SQL Server

Tidak seperti MySQL, SQL Server tidak menyokong sintaks untuk memadam daripada berbilang jadual menggunakan SERTAI DALAM. Walau bagaimanapun, terdapat kaedah alternatif untuk mencapai hasil yang sama.

Menggunakan Jadual Pseudo "dipadamkan"

Pertimbangkan contoh kod berikut:

begin transaction;

declare @deletedIds table ( id int );

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;

delete from t2
from table2 as t2
    inner join @deletedIds as d
        on d.id = t2.id;

delete from t3
from table3 as t3 ...

commit transaction;
Salin selepas log masuk

Kod ini menggunakan jadual pseudo "dipadamkan" untuk menyimpan ID yang dipadam daripada pernyataan padam pertama. ID ini kemudiannya digunakan dalam kenyataan pemadaman berikutnya untuk memadamkan baris yang sepadan daripada jadual lain.

Pertimbangan Lain

  • Anda juga boleh menggunakan "output deleted." dalam pernyataan padam kedua jika perlu untuk bergabung dengan jadual ketiga.
  • Pertimbangkan untuk menggunakan pencetus pada jadual induk (cth., jadual1) untuk memadamkan baris secara automatik daripada jadual anak (cth., jadual2 dan jadual3) apabila sesuai. Pendekatan ini menyediakan cara yang mudah dan cekap untuk mengekalkan integriti data merentas berbilang jadual.

Atas ialah kandungan terperinci Bagaimana untuk Memadam daripada Berbilang Jadual dalam Pelayan SQL Menggunakan INNER JOIN?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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