定义
触发器是特殊的存储类型,满足条件自动执行。
触发器的类型
DML 触发器(常考)
前触发器 / 后触发器: AFTER 触发器和 INSTEAD OF 触发器两种
按照触发动作分: insert update delete
DDl
语法
sql
create trigger 名字
on 表名/视图名
after delete
as
begin
end创建 update 触发器(后触发器)
sql
create trigger trl
on course
after update
as
begin
if update(条件)
begin
print '禁止修改学分'
rollback -- 回滚
end
end创建 DELETE 触发器
例:如果某个学生退学,当删除 Student 表中某个学生的记录时,SelectCourse 表中相应学号的记录也被同时删除
sql
create trigger tl
on Student
after delete
as
begin
if existe(select * from SelectCourse,delete where SelectCourse.StudentID)
begin delete from SelectCourse
where SelectCourseStudentID = (select studentID from delete)
end