高手!如何一条SQL语句删除多张表中记录
迪丽瓦拉
2024-07-26 08:37:11
0次
高手!如何一条SQL语句删除多张表中记录3张表,t1,t2,t3 根据t1表中内容删除t2,并删除对应的t3内容。举例:t1 t2 t3A列 A列 B列 B列 a a 001 001c b 002 002 c 003 003结果:t1 t2 t3A列 A列 B列 B列 a b 002 002 c 谢谢
delete t3 where t3.B列 in
(
select B列
from t2
inner join t1 on t2.A列=t1.A列
);
delete t2
where t2.A列 in
(
select A列
from t1
)
说明两个sql语句中间加个分号,可一次执行。你可点击sql server 菜单下方的“新建查询”,在弹出的新窗口中运行上述语句。一个普通的sql语句删除两个表做不到。这与sql server 的内在机制有关。
思路错了吧!明明是两句sql执行的语句!
如果你想在第二句出错的情况下,第一句也不执行的话可以设置autocommit 设置为false
然后用rollback.
不用触发器也可以 在关系图里面设置联级删除
相关内容