sql server 2000触发器

来源:百度知道 编辑:UC知道 时间:2024/06/17 17:44:06
小刚开始学习数据库,还望高手给我讲解一下触发器
另外我有2张表
学生表student(学号sno,姓名sname,课程编号cno)
课程表course(课程编号cno,课程名cname)
如果我删除一个学生,也要把其对应的课程信息删除应该怎样实现
student(sno,sname,saddr)sno为primary key;
grade(sno,cno,grade)sno,cno为primary key
course(cno,cname)cno 为primary key
delete from student where sno = '05001'
却出现DELETE 语句与 COLUMN REFERENCE 约束 'FK__grade__sno__04E4BC85' 冲突。该冲突发生于数据库 'StuInfo',表 'grade', column 'sno'。
语句已终止。的错误
delete from grade where sno='05001'却可以删除
请问这是为什么?

你要建的触发器的内容就是:
delete course where cno in(select cno from deleted)
注意:1、你要将此触发器建在学生表里
2、“deleted”并非一个实际表,它是sql触发器中使用的表之一,另外还有一个表"inserted",他们分别表示“删除”和“添加”操作时用到的表。也是触发器中比较重要的东西了。