sql触发器实现级联删除,但是级联的删了,原表没删掉,是代码有什么问题么?
题目:在学生表上建一个触发器,要求在学生表Student(sno,sname,ssex,sage)中删除一条学生的记录,同时要删除选课表SC(sno,cno,grade)...
题目:在学生表上建一个触发器,要求在学生表Student(sno,sname,ssex,sage)中删除一条学生的记录,同时要删除选课表SC(sno,cno,grade)中该学生的选课记录。
建触发器的代码:
create trigger stu_cascade on Studentwith encryptioninstead of deletenot for replicationasbegindelete from SC where sno in(select sno from deleted)end
激活触发器并删除学号为200515121的学生信息:
alter table Student enable trigger stu_cascade
go
delete from Student
where sno='200515121'
运行结果:选课表SC中的有关200515121删了,但是学生表Student中200515121还在 展开
建触发器的代码:
create trigger stu_cascade on Studentwith encryptioninstead of deletenot for replicationasbegindelete from SC where sno in(select sno from deleted)end
激活触发器并删除学号为200515121的学生信息:
alter table Student enable trigger stu_cascade
go
delete from Student
where sno='200515121'
运行结果:选课表SC中的有关200515121删了,但是学生表Student中200515121还在 展开
2个回答
2014-10-28
展开全部
建议查看有没有别的外键约束,从而无法删除数据。
追问
看了,没有其它外键了,而且要是有其它外键约束的话,在删除的时候会报错啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询