mysql触发器

创建触发器

触发器是个特殊的存储过程,不同的是存储过程需要通过call来调用,而触发器不需要使用call来调用,只需要当定义的事件发生后就会自动被调用。

1.创建单执行语句的触发器

CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW trigger_stmt

tigger_time可以取值before和after

trigger_event可以取值insert、delete、update

trigger_stmt是要实现的目标。

比如当在表tb_index_zone中新增一条记录后,在tb_student表中增加一条记录

CREATE TRIGGER addStu before insert ON tb_index_zone FOR EACH ROW insert into tb_student values ('10','123456789012','10');

查看触发器使用:show triggers \G;



 

2.创建具有多个执行语句的触发器

CREATE TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW 

BEGIN

多个sql语句

END

比如当在表tb_index_zone中新增一条记录后,在tb_student表中增加两条记录

CREATE TRIGGER addMultStu before insert ON tb_index_zone FOR EACH ROW

BEGIN

insert into tb_student values ('2,'TOM','11');

insert into tb_student values ('3,'TOM2','12');

END

第二种查看trigger的方式:

SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE 自定义条件;

删除触发器的方式:

DROP TRIGGER [DB].[trigger_name]

例如:DROP TRIGGER test_db.addMultStu;

猜你喜欢

转载自nameethan.iteye.com/blog/2415745