数据库触发器
触发器
只有执行insert/update/delete
操作时才能出发触发器的执行
案例说明
create table variation( s_id int not null, s_name varchar(20) not null, var_text text not null, cur_date date not null );
创建触发器
drop trigger if exists stu_msg; -- 创建 学生信息插入 触发器 create trigger stu_msg after insert on student for each row begin insert into variation values (NEW.stu_id, NEW.stu_name,concat('学号为:', NEW.stu_id, '的', NEW.stu_name, '学生 的学生信息被添加...'), now()); end; insert into student values (1005, 'Kok', '女', 12);
drop trigger if exists stu_msg2; -- 创建 学生信息修改 触发器 create trigger stu_msg2 after update on student for each row begin insert into variation values (NEW.stu_id, NEW.stu_name,concat('学号为:', NEW.stu_id, '的', NEW.stu_name, '学生 的学生信息被更新...'), now()); end; update student set stu_age = 10 where stu_id = 1002;
drop trigger if exists stu_msg3; -- 创建 学生信息删除 触发器 create trigger stu_msg3 after delete on student for each row begin insert into variation values (OLD.stu_id, OLD.stu_name,concat('学号为:', OLD.stu_id, '的', OLD.stu_name, '学生 的学生信息被删除...'), now()); end; delete from student where stu_id = 1005;
学生表根据存储过程中案例的创建
基本语法
create trigger [update[,delete[,insert]]] on