触发器
- 什么是触发器
触发器只会因为这三种SQL语言而启动:
Delete 语句,insert语句,update语句
应用情景:使一个量可以随着数据的变化而自动实现加减变化。
- 创建触发器
一条执行语句的触发器:
Create trigger trigger_name
Before/after trigger_event
On table_name for each row trigger_stmt;(一条执行语句)
trigger_name:创建的触发器的名字
Before/after :触发前还是触发后
trigger_event:触发条件:insert /update /delete
Table_name:被触发的表名字
Trigger_stmt:触发前或后需要执行的语句
例子1:在向部门表table_dept插入记录的时候,就会在插入前向日记表table_diary中插入当前时间。
Create trigger trigger_hello
Before insert
On table_dept for each row insert into table_diary values(.....);
多条执行语句的触发器:
Create trigger trigger_name
Before/after trigger_event
On table_name for each row
Begin
trigger_stmt
End
begin和end之间的是多条执行语句。
例子2:同上例子1,不过执行语句改为两条
Delimiter $$
Create trigger trigger_hello
Before insert
On table_dept for each row
begin
insert into table_diary values(.....);
insert into table_diary values(.....);
End
$$
Delimiter;
- 查看触发器
Show triggers;
- 删除触发器
Drop trigger trigger_name