你好,我做一个SQL SERVER的级联删除的触发器
我有三张表ABC这样的主外键关系,A.ID=B.IDA.ID=C.ID我想做一个删除A表某字段,删除时触发一个触发器,同时删除B、CID主外键关系的字段。问题一:触发器语...
我有三张表ABC 这样的主外键关系,A.ID=B.ID A.ID=C.ID
我想做一个删除A表某字段,删除时触发一个触发器,同时删除B、C ID主外键关系的字段。
问题一:触发器语句,不要复制的。谢谢 展开
我想做一个删除A表某字段,删除时触发一个触发器,同时删除B、C ID主外键关系的字段。
问题一:触发器语句,不要复制的。谢谢 展开
展开全部
create trigger delete_B_C
on A
for delete
as
begin
delete from B B1 join deleted D1
on B1.Id=D1.Id
delete from C C1 join deleted D1
on C1.Id=D1.Id
end
on A
for delete
as
begin
delete from B B1 join deleted D1
on B1.Id=D1.Id
delete from C C1 join deleted D1
on C1.Id=D1.Id
end
更多追问追答
追问
deleted 是什么意思?
delete from Grade B1 join student D1 on B1.studentid=D1.studentid
delete from class C1 join student D1
on C1.studentid=D1.studentid
student表=A
Grade表 =B
class表 =C
追答
在SQL中存在两个隐藏表,该表在执行过程中存在的,执行完毕后是不存在的!这两个表就是deleted和inserted表,当进行删除时,先将删除数据存入到deleted表中,然后在任务提交后清空deleted表(表在任务提交后就已经不存在了),而进行插入时,插入数据也是先存储在inserted表中,任务得提交后,该表也不会存在了!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询