打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MySQL—触发器基础
每日头条
2天前
2017-03-29
[ 文章导读 ] 数据库中的触发器是以针对数据库的操作(增删改)而被调用的特殊存储过程。通常也叫事件。触发器实现了相关表的更新处理自动化的机制。触发器并不是直接被调用执行的,而是针对具体表的操作时被调用,也就是说在创建触发器时,需要指定针对哪个表的操作才 ...

数据库中的触发器是以针对数据库的操作(增删改)而被调用的特殊存储过程。通常也叫事件。触发器实现了相关表的更新处理自动化的机制。

触发器并不是直接被调用执行的,而是针对具体表的操作时被调用,也就是说在创建触发器时,需要指定针对哪个表的操作才能成为触发装置,而这个表就是触发器调用方的表。

基本语法:

触发器语法

条件决定触发器运行的时刻:

由事件名和发生时刻决定。事件名就是指insert、update、delete等操作。并不是严格意义上的insert、update、delete命令,像replace、load data infile等伴随有数据插入动作的处理都属于insert类。

发生时刻是指决定触发器在事件发生之前还是发生之后,指定before或after其中之一即可。

for each row:

固定值,表示触发器是以行为单位执行的,例如当用户执行删除2条记录行时,意味着与删除动作相关的触发器也会被执行2次。

例子:创建日记表person_log存放person表被删除的行,当删除person的记录时将其保存到person_log表里。

1、先创建一个空的person_log表用来存放被删除的记录。

2、创建一个触发器del_person,执行删除操作后将记录插入到person_log表。

触发器person_log

3、从person表中执行删除记录操作来触发事件

4、查看person_log表结果:

结果:从person表执行删除一条记录后会触发person_log表中增加被删除的记录。

触发器特有的特征:old/new关键字

根据变更前后的数据记录来使用。

可使用的关键词与事件关系:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
SQL中的触发器–它会触发什么?
SQL触发器的一点心得
MYSQL触发器的使用
数据库中触发器的创建与注意事项
触发器基本知识
oracle 触发器的种类和触发事件,DML触发器,DDL事件触发器,替代触发器,查看触发...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服