MySQL触发器

时间:2020-01-27 00:46:51   收藏:0   阅读:131

1、 触发器定义:

触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 ——百度百科

2、 创建触发器的四个要素:

(1) 监视地点(table)

(2) 监视事件(insert|update|delete)

(3) 触发时间(before|after)

(4) 触发事件(insert|update|delete)

备注:保持每个数据库的触发器名唯一。

3、 创建触发器

simple example:

CREATE TRIGGER newproduct AFTER INSERT ON products
FOR EACH ROW SELECT Product added;

分析:CREATE TRIGGER用来创建名为newproduct的触发器。触发器可在一个操作发生之前或之后执行,这里给出了AFTER INSERT,所以此触发器将在INSERT语句成功后执行。FOR EACH ROW(代码对每个插入行执行)。在这个例子中,文本Product added将对每个插入的行显示一次。

4、查看和删除已有的触发器

5、使用触发器

5.1 INSERT触发器

5.2 DELETE触发器

5.3 UPDATE触发器

example(保证州名缩写总是大写,不管UPDATE语句中给出的事大写还是小写):

 CREATE TRIGGER updatevendor BEFORE UPDATE ON vendors
 FOR EACH ROW
 SET NEW.vend_state = Upper(NEW.vend_state);

分析:显然,任何数据净化都需要在UPDATE语句之前进行。每次更新一行是,NEW。vend_state中的值(将来用来更新行的值)都用Upper(NEW.vend_state)替换。

原文:https://www.cnblogs.com/riter-xu/p/12235303.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!