1.对于数据表sc,创建一个触发器,插入记录时,当字段grade小于60时,自动改为0
2.创建一个触发器,禁止修改student 表中的姓名,并在客户端显示‘不能修改姓名’
rollback transactioin是将显式事务或隐性事务回滚到事务的起点或事务内的某个保存点,这里就是阻止修改性名,并回到前面
3.创建一个触发器,实现删除学生信息时,级联删除该学生的选课信息
CREATE TRIGGER del_stu_cascade
ON student
INSTEAD OF delete
AS begin
DELETE SC FROM SC,DELETED
WHERE SC.SNO=DELETED.SNO
DELETE STUDENT FROM STUDENT,DELETED
WHERE STUDENT.SNO=DELETED.SNO
end
注意在删除的同时要考虑参照完整性,sc表和student都需要删除
修改触发器的SQL语句:
ALTER TRIGGER <触发器名>
ON <表名|视图名> {FOR | AFTER | INSTEAD OF} <触发事件> AS <触发动作体>
删除触发器的SQL语句:
DROP TRIGGER <触发器名>