您的位置:首页 > 数据库 > MySQL

mysql(八、触发器)

2015-10-02 11:26 357 查看
触发器在数据库里以独立的对象存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是由一个事件来启动运行。即触发器是当某个事件发生时自动地隐式运行。并且,触发器不能接收参数。

1.创建只有一个执行语句的触发器

CREATE TRIGGER trig_book AFTER INSERT

ON t_book FOR EACH ROW

UPDATE t_booktype SET booknum=booknum+1 WHERE new.bookTypeId=t_booktype.id /*插入、更新的

当前记录用new,删除的记录用old*/

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

DELIMITER &&

CREATE TRIGGER trig_book2 AFTER DELETE

ON t_book FOR EACH ROW

BEGIN

UPDATE t_booktype SET booknum=booknum-1 WHERE old.bookTypeId=t_booktype.id;

INSERT INTO t_log VALUES(NULL,NOW(),'删除数据');

DELETE FROM t_test WHERE old.bookTypeId=t_test.id;

END;

&&

DELIMITER ;

3.查看触发器

show triggers;

4.删除触发器

drop trigger trig_book;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: