现在的位置: 首页 > 综合 > 正文

初识触发器

2013年10月14日 ⁄ 综合 ⁄ 共 653字 ⁄ 字号 评论关闭

MySQL从5.0.2版开始引入触发器,触发器就是一个已命名的数据库对象,这个对象和某张表 相关,而且当这张表发生某种特定事件后,触发器将被激活执行相应的动作,

触发器允许这 些动作在这张表中的一行或多行的数据被操作的前后执行。

1.语法:( 步长)触发间隔

CREATE TRIGGER <触发器名称>
{ BEFORE | AFTER }
{ INSERT | UPDATE | DELETE }
ON <表名称>
FOR EACH ROW <--
<触发的SQL语句>

触发器的执行间隔:FOR EACH ROW子句通知触发器
每隔一行执行一次动作,而不是对整个表执行一次。

2. NEW,OLD
       在触发器的SQL语句中,你可以关联表中的任意列。但你不能仅使用列的名称去标识,那会使系统混淆,因为那里可能会有列的新名(这可能正是你要修改的,你的动作可能正是要修改列名),还有列的旧名存在。因此你必须用这样的语法来标识: "NEW . column_name"或者"OLD . column_name".这样在技术上处理(NEW | OLD . column_name)新和旧的列名属于创建了过渡变量("transition variables")。

3.简单实例
 

 

当我们要向表中的行插入时,触发器就会被激活,执行将school列的值改为'scut'的动作。

 

【上篇】
【下篇】

抱歉!评论已关闭.