1.触发器的定义:
触发器是一种特殊的存储过程,它在插入,删除或修改特定表中的数据时触发执行,它比数据库本身标准的功能有更精细和更复杂的数据控制能力。
- .安全性。可以基于数据库的值使用户具有操作数据库的某种权利。
# 可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据。
# 可以基于数据库中的数据限制用户的操作,例如不允许股票的价格的升幅一次超过10%。
- 审计。可以跟踪用户对数据库的操作。
# 审计用户操作数据库的语句。
# 把用户对数据库的更新写入审计表。
- 同步实时地复制表中的数据。
- 自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。例如,如果公司的帐号上的资金低于5万元则立即给财务人员发送警告数据。
2.触发器编写:
创建tab1和tab2作为案例
当tab1被插入数据的时候,自动插入数据到tab2
创建触发器:
测试效果:
触发器语句分析:
DELIMITR ;声明mysql的结束符,默认结束符是;
CREATE TRIGGER tb2_auto_add AFTER INSERT
ON tb1 FOR EACH ROW
BEGIN
Insert into tb2(name,age) value(“老王”,18); END
-------------------------------------------------------------------------------
CREATE 创建
TRIGGER 触发器
tb2_auto_add 触发器名称功能 必须有意义
AFTER 触发时间 ,在触发时间之后 (还有before 在触发事件之前)
INSERT 触发的条件
UPDATE 更新事件
DELETE 删除事件
INSERT 插入事件
EACH ROW 任意一行
BEGIN 开始编写出发事件
insert into tab2(name,age) value("老王",18); 触发的事件
end 触发事件结束
查看触发器:
触发器的信息都被存放在information_schema数据库当做的triggers表当中
Select * from information_schema.triggers;
删除触发器:
Drop trigger 触发器名称