一、触发器是什么?
触发器是通过事件的触发自动出发执行的
触发器 trigger
二、使用步骤
1.能够激活触发器的执行事件
insert
delete
update
delimiter//
create trigger delete_Student
after delete
on student
for each row
begin
delete from SC where Sno = old.Sno;
end//
delimiter//
create trigger update_Student
after insert
on student
for each row
begin
update from SC where Sno = old.Sno;
end//
2.触发器格式
代码如下(示例):
delimiter//
create trigger 触发器名
after 触发事件
on 表
for each row
begin
SQL命令;
end//
3.临时表
-- 临时表
old 保存修改数据或删除数据所影响的记录
new 保存添加数据或修改数据所影响的记录
三、使用举例
-- 1.给student表增加字段 总学分
alter table student add zxf decimal(4,1) not null default 0;
desc student;
alter table student drop zxf;
-- 2.当学生选修课程的选课成绩大于等于60,能自动增加该门课程的学分
delimiter//
create trigger add_SC
after insert
on SC
for each row
begin
select Credit into @xf from Couse where Cno=new Cno;
if(select SC.Score from SC where Cno=new.Cno and Sno=new.Sno)>=60 then
update student set student.zxf=student.zxf+@xf where Sno=new.Sno;
end if
end//