标签:
触发器是与表有关的命名数据库对象,当表上出现特定事件时,将激活该触发器。比如当相应的数据表被INSERT\DELETE或UPDATE语句修改时,触发器将自动执行。触发器可以被设置成在这几种语句处理每个数据行之前或之后触发。对于具有相同触发程序动作时间和事件的给定表,不能有两个触发程序。例如,对于某一表,不能有两个BEFORE UPDATE触发程序。但可以有1个BEFORE UPDATE触发程序和1个BEFORE INSERT触发程序,或1个BEFORE UPDATE触发程序和1个AFTER UPDATE触发程序。
INSERT:将新行插入表时激活触发程序,例如,通过INSERT、LOAD DATA和REPLACE语句。
UPDATE:更改某一行时激活触发程序,例如,通过UPDATE语句。
DELETE:从表中删除某一行时激活触发程序,例如,通过DELETE和REPLACE语句。
举例:
创建表
运行结果:
OLD.col_name修改或删除它之前的值。
提示:如果是Ms SQL Server分别保存在inserted表、deleted表
创建删除触发器
删除一条记录后,将在history表添加一条相应的记录
注:
mysql5.1.6版本之前,您必须要拥有SUPER权限,之后的版本因为触发器与一个数据表相关联,所以您必须拥有那个数据表的trigger权限才能为它创建和删除触发器。
标签:
原文地址:http://my.oschina.net/liting/blog/469571