首页 > 代码库 > mysql 触发器基础:

mysql 触发器基础:

 

mysql 触发器基础:

 

触发器,顾名思义,基于某具体的DML语句的触发或执行,来执行一个动作。mysql触发器在6个不同的集成点进行定义:
before insert:插入之前执行触发器
after insert:插入之后执行触发器
before update:插入之前执行触发器
after update:插入之后执行触发器
before delete:删除之前执行触发器
after delete:删除之后执行触发器
每个点只能定义一个触发器,触发器只可以应用在for each row上,没有每个语句级的功能。
也没有代替触发器的语法。

 

可以将其看做一类特殊的存储过程,sp中可以使用的语句 ,触发器基本上都可以使用

基本语法如下:
向TrigerTable 插入数据之后理解向TrigerTable01 插入相同的数据
delimiter $$

CREATE TRIGGER `Test_trig` AFTER INSERT ON `TrigerTable` FOR EACH ROW BEGIN    

  insert into  TrigerTable01(uname,uage)
  VALUES(new.uname,new.uage) ;
 
end;

$$ delimter ;

更新TrigerTable之后 插入数据
delimiter $$

CREATE TRIGGER `Test_trig_update` AFTER UPDATE ON `TrigerTable` FOR EACH ROW BEGIN    

  insert into  TrigerTable01(uname,uage)
  VALUES(new.uname,new.uage) ;
 
end;

$$ delimiter ;

删除之后插入数据
delimiter $$

CREATE TRIGGER `Test_trig_delete` AFTER DELETE ON `TrigerTable` FOR EACH ROW BEGIN    

  insert into  TrigerTable01(uname,uage)
  VALUES(old.uname,old.uage) ;
 
end;

$$ delimiter  ;

 


参考链接:
http://my.oschina.net/fxhover/blog/133819
http://www.cnblogs.com/amboyna/archive/2008/01/27/1055178.html

 

 

本文出自 “SQLServer MySQL” 博客,请务必保留此出处http://dwchaoyue.blog.51cto.com/2826417/1429913