首頁 >資料庫 >mysql教程 >如何使用 INNER JOIN 從多個 SQL Server 表中刪除資料?

如何使用 INNER JOIN 從多個 SQL Server 表中刪除資料?

Barbara Streisand
Barbara Streisand原創
2025-01-07 05:59:45403瀏覽

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

在SQL Server 中使用INNER JOIN 刪除多個表

在SQL Server 中,您可以使用「已刪除」偽表來實現與MySQL提供的語法類似的效果。以下步驟概述如何使用 INNER JOIN 從多個表格中刪除:

第 1 步:開啟交易

begin transaction;

第 2步驟:建立臨時事務儲存已刪除的表ID

declare @deletedIds table ( id int );

步驟3:從表1 中刪除

此查詢從表1 中刪除

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;

此查詢從表1 中刪除,並將刪除的ID 輸出到@deletedIds 表中。

第 4 步:從表中刪除2

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

此查詢使用 @deletedIds 中儲存的 ID 從表 2 中刪除。

第 5 步:對剩餘表重複

對任何需要刪除的其他表重複刪除過程已修改。

commit transaction;
第6 步:提交交易

    附加說明:
  • 附加說明:
您可以使用「輸出已刪除”。第二個刪除中的語句,以便在需要時啟用第三個表的連線。 考慮在第一個表上實作觸發器,以自動執行其他表的刪除過程。

以上是如何使用 INNER JOIN 從多個 SQL Server 表中刪除資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn