触发器
- 触发器是一个与表相关联的数据库对象,并在表发生特定事件的时候被激活;
- 触发器的关键要素
- 触发器关联的对象:与触发器相关联的表名,是永久性表,不能是临时表或视图;
- 触发时间:触发器被触发的时刻,包括before和after,表示触发器是在语句之前或之后触发;
- 触发事件:用于指定激活触发器的语句的种类,包括insert|update|delete;
- 触发器主体:触发器动作主体,包含触发器激活时将要执行的SQL语句;
- 创建触发器
create
[definer = user]
trigger trigger_name
trigger_time trigger_event
on tbl_name for each row
[trigger_order]
trigger_body
trigger_time:{before | after}
trigger_event:{insert | update | delete}
trigger_order:{follows | precedes} other_trigger_name
- 删除触发器
drop tirgger [if exiest] [schema_name.]trigger_name
- 查看触发器
show triggers
- for each row:一般指行级触发,对于受触发事件影响的每一行都要激活触发器的动作。例如,使用insert语句向某个表中插入多行数据时,触发器会对每一行数据的插入都执行相应的触发器动作。
- 三种触发事件说明
- insert:将新行插入表时激活触发器。例如,insert的before触发器不仅能被insert语句激活,也能被load data 语句激活;
- delete:从表中删除某一行数据时激活触发器,例如delete和replace语句;
- update:更改表中某一行数据时激活触发器,例如update语句;
- trigger_body:可以是begin…end语句;
- trigger_order:指定多个触发器之间的顺序;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




