天天看点

mysql(八、触发器)

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

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.查看触发器

继续阅读