在 SQL Server 中使用 INNER JOIN 删除多个表
在 SQL Server 中,您可以使用“已删除”伪表来实现与MySQL提供的语法类似的效果。以下步骤概述了如何使用 INNER JOIN 从多个表中删除:
第 1 步:打开事务
begin transaction;
第 2 步:创建临时事务存储已删除的表ID
declare @deletedIds table ( id int );
步骤 3:从表 1 中删除
此查询从表 1 中删除,并将删除的 ID 输出到 @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;
第 4 步:从表中删除2
此查询使用 @deletedIds 中存储的 ID 从表 2 中删除。
delete from t2 from table2 as t2 inner join @deletedIds as d on d.id = t2.id;
第 5 步:对剩余表重复
对任何需要删除的其他表重复删除过程已修改。
第 6 步:提交交易
commit transaction;
附加说明:
以上是如何使用 INNER JOIN 从多个 SQL Server 表中删除数据?的详细内容。更多信息请关注PHP中文网其他相关文章!