当前位置: 代码迷 >> Sql Server >> SQL三个表联级更新剔除
  详细解决方案

SQL三个表联级更新剔除

热度:83   发布时间:2016-04-27 11:06:50.0
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

上面语句要求一起执行。不过用外键来级联会好一点。
  相关解决方案