* -- CREATE TRIGGER ins_trigger -- ON SC FOR INSERT -- AS -- IF (SELECT COUNT(*) FROM STUDENT s , inserted i -- WHERE s.SNO = i.SNO) = 0 -- BEGIN -- RAISERROR (THIS STUDENT IS NOT EXISTS!,1,1) -- ROLLBACK TRANSACTION -- END 触发器 例:对选课表的插入操作定义一个触发器,使得当插入选课记录时,检查相应的学生元组是否存在,如果不存在则撤消所做的插入操作。 * 触发器 例:对学生表的插入操作定义一个触发器,使得当插入记录时,检查相应的学生年龄是否满足条件,如果不存在则显示错误信息。 CREATE TRIGGER stu_tri ON student INSTEAD OF INSERTASif (SELECT age from inserted)40?? print ‘不能插入大于40岁的学生纪录else?? insert into student select * from inserted * 练习 当修改学生表student中学生的学号,通过触发器自动更正选课表SC与学生表一致。 * 游标 需要游标的数据操作 当select语句
原创力文档

文档评论(0)