sql 2000 建立触发器遇到了问题
时间:2011-11-29
来源:互联网
建立了两个表
s(sno,sname,ssex)学生表
sc(sno,cno,grade)学生选课表
现在我想在s表上建立一个触发器实现级联删除
我建立的触发器如下:
CREATE TRIGGER deletes ON [dbo].[s]
FOR DELETE
AS
delete from dbo.sc where sno=s.sno
检查语法的时候说列前缀‘s’与查询中所用的表名或别名不匹配,我改成dbo.s.sno
还是不对
请问哪儿出问题了呢
s(sno,sname,ssex)学生表
sc(sno,cno,grade)学生选课表
现在我想在s表上建立一个触发器实现级联删除
我建立的触发器如下:
CREATE TRIGGER deletes ON [dbo].[s]
FOR DELETE
AS
delete from dbo.sc where sno=s.sno
检查语法的时候说列前缀‘s’与查询中所用的表名或别名不匹配,我改成dbo.s.sno
还是不对
请问哪儿出问题了呢
作者: jiez 发布时间: 2011-11-29
用不着创建触发器.
在建表时,设置外键,并加上
FOREIGN KEY
REFERENCES referenced_table_name[( ref_column )]
ON DELETE CASCADE
ON UPDATE CASCADE
就能自动实现级联删除和级联更新.
在建表时,设置外键,并加上
FOREIGN KEY
REFERENCES referenced_table_name[( ref_column )]
ON DELETE CASCADE
ON UPDATE CASCADE
就能自动实现级联删除和级联更新.
作者: qianjin036a 发布时间: 2011-11-29
SQL code
delete a from sc a join inserted b on a.sno = b.sno
作者: AcHerat 发布时间: 2011-11-29
SQL code
條件s.sn 不一致
CREATE TRIGGER deletes ON [dbo].[s] FOR DELETE AS delete s from dbo.sc as s where sno=s.sno
條件s.sn 不一致
作者: roy_88 发布时间: 2011-11-29
應該這樣改
SQL code
SQL code
CREATE TRIGGER deletes ON [dbo].[s] FOR DELETE AS delete sc from dbo.sc AS sc,INSERTED i where i.sno=sc.sno
作者: roy_88 发布时间: 2011-11-29
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28