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

Bagaimana untuk Memadam Data Dari Berbilang Jadual Pelayan SQL Menggunakan INNER JOIN?

Barbara Streisand
Barbara Streisandasal
2025-01-07 05:59:45429semak imbas

How to Delete Data From Multiple SQL Server Tables Using INNER JOIN?

Memadam Daripada Berbilang Jadual dengan INNER JOIN dalam SQL Server

Dalam SQL Server, anda boleh menggunakan jadual pseudo "dipadamkan" untuk mencapai kesan yang sama seperti sintaks MySQL yang disediakan. Langkah berikut menggariskan cara untuk memadam daripada berbilang jadual menggunakan INNER JOIN:

Langkah 1: Buka Transaksi

begin transaction;

Langkah 2: Buat Sementara Jadual untuk Menyimpan ID yang Dipadamkan

declare @deletedIds table ( id int );

Langkah 3: Padam daripada Jadual 1

Pertanyaan ini memadamkan daripada Jadual 1 dan mengeluarkan ID yang dipadamkan ke dalam jadual @deletedIds.

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;

Langkah 4: Padam daripada Jadual 2

Pertanyaan ini memadamkan daripada Jadual 2 menggunakan ID yang disimpan dalam @deletedIds.

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

Langkah 5: Ulang untuk Jadual Baki

Ulang proses pemadaman untuk sebarang jadual tambahan yang perlu diubah suai.

Langkah 6: Komitmen Transaksi

commit transaction;

Nota Tambahan:

  • Anda boleh menggunakan "output yang dipadamkan." pernyataan dalam pemadaman kedua untuk membolehkan pencantuman pada jadual ketiga jika diperlukan.
  • Pertimbangkan untuk melaksanakan pencetus pada jadual pertama untuk mengautomasikan proses pemadaman daripada jadual lain.

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