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还在
展开
 我来答
szm341
2014-10-28 · TA获得超过6726个赞
知道大有可为答主
回答量:5005
采纳率:100%
帮助的人:5131万
展开全部
instead of delete
因为用的是这个替代触发器,会替代原有的操作,造成原有的操作无效
如果没有外键关系的,可以用for出发器,或者建立主外键关系设置级联删除操作,而不用触发器也可以
匿名用户
2014-10-28
展开全部
建议查看有没有别的外键约束,从而无法删除数据。
追问
看了,没有其它外键了,而且要是有其它外键约束的话,在删除的时候会报错啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式