首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL三个表联级更新剔除

2012-09-19 
SQL三个表联级更新删除有A,B,C三个表A:id,TitleB:id,Aid,Cid,NumbersC:id,Total对应关系是:A.idB.Aid , B

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

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

热点排行