SQL三个表联级更新删除
有A,B,C三个表
A:id,Title
B:id,Aid,Cid,Numbers
C:id,Total
对应关系是:A.id=B.Aid , B.Cid=C.id
从A表删除一记录,然后对应删除B表数据同时更新C表里的Total(规则是C.Total-B.Numbers),
这种联级应该怎么做??
------解决方案--------------------
update c
set c.numbers=C.Total-B.Numbers
from c inner join b on B.Cid=C.id
where b.aid=a表要删除的id
delete from b where b.aid=a表要删除的id
delete from a where id=a表要删除的id
上面语句要求一起执行。不过用外键来级联会好一点。