触发器: 实现由一些表事件触发的某个操作,是与数据库对象表关联最紧密的数据库对象之一。在数据库系统中,当执行表事件时,则会激活触发器,从而执行其包含的操作。
- 创建触发器
(1)创建有一条执行语句的触发器
# 创建部门表
create table t_diary(
diaryno int(11),
tablename varchar(20),
diarytime datetime not null
);
# 创建日记表
create table t_diary(
diaryno int(11) primary key auto_increment,
tablename varchar(20),
diarytime datetime
);
# 创建触发器
create trigger tri_diarytime
before insert
on t_dept for each row
insert into t_diary values(null, 't_dept', now());
# 插入一条数据
insert into t_dept values(1, 'cjgongdept','ShangXi');
# 查询部门表
select * from t_dept;
# 查询日记表
select * from t_diary;
(2)创建包含多条执行语句的触发器
# 将结束符号定义为$$
delimiter $$
# 创建触发器
create trigger tri_diarytime2
after insert
on t_dept for each row
begin
insert into t_diary values(null, 't_dept', now());
insert into t_diary values(null, 't_dept', now());
end
$$
# 将结束符号设置为分号
delimiter ;
# 在部门表中插入数据
insert into t_dept values(2, 'gjgongdept', 'shangxi');
# 查询部门表
select * from t_dept;
# 查询日记表
select * from t_diary;
查看触发器
SHOW TRIGGERS 语句查看触发器show triggers \G;
删除触发器
通过DROP TRIGGER语句删除触发器drop trigger tri_diarytime2;