在SQL Server 中使用INNER JOIN 刪除多個表格
與MySQL 不同,SQL Server 不支援使用下列語法從多個資料表中刪除內連接。但是,還有其他方法可以實現相同的結果。
使用「已刪除」偽表
考慮以下程式碼範例:
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;
此程式碼利用「deleted」偽表來儲存第一個刪除語句中刪除的ID。然後,這些 ID 將在後續刪除語句中用於從其他表中刪除對應的行。
其他注意事項
以上是如何使用 INNER JOIN 從 SQL Server 中的多個表中刪除?的詳細內容。更多資訊請關注PHP中文網其他相關文章!