MySQL:触发器(Trigger)

触发器(TRIGGER)是用户定义在关系表上的一类由事件驱动的特殊过程,在满足一定条件或达到一定阈值时会自动触发。可以进行更为复杂的检查和操作,具有更精细和更强大的数据控制能力。

Trigger 又叫做 事件-条件-动作(event- condition-action)规则。当特定的系统事件(如对一个表的增、删、改操作,事务的结束等)发生时,对规则的条件进行检查,如果条件成立则执行规则中的动作,否则不执行该动作。规则中的动作体可以很复杂,可以涉及其他表和其他数据库对象,通常是一段 SQL 存储过程

触发器是 MySQL 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是 CALL 手动启动,而是由事件来触发,比如当对一个表进行操作(INSERTDELETEUPDATE)时就会激活它执行。

创建触发器

四要素

触发器创建的四个要素

  1. 监视地点 TABLE

  2. 监视事件 INSERT / UPDATE / DELETE

  3. 触发时间 AFTER / BEFORE

  4. 触发事件 INSERT / UPDATE / DELETE

只有表的创建者才可以在表上创建触发器,并且一个表上只能创建有限数量的触发器

语法

触发器的语法会根据具体的数据库管理系统而有所不同,下面是一般常用的触发器语法:

CREATE TRIGGER trigger_name
{BEFORE | AFTER} {
  
  INSERT | UPDATE | DELETE} ON table_name
[REFERNCEING NEW|OLD ROW|TABLE AS <var_name>]
FOR EACH [
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值