读书人

SQL三个表联级更新剔除

发布时间: 2012-09-19 13:43:53 作者: rapoo

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

上面语句要求一起执行。不过用外键来级联会好一点。

读书人网 >SQL Server

热点推荐