触发器

一、触发器的引入

触发器(TRIGGER)是由事件来触发某个操作。这些事件包括 INSERT 语句、UPDATE 语句和 DELETE 语句。 当数据库系统执行这些事件时,就会激活触发器执行相应的操作。

二、创建与使用触发器

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

CREATE  TRIGGER 触发器名   BEFORE | AFTER  触发事件 ON 表名 FOR EACH ROW 执行语句

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;
       
       
INSERT INTO t_book VALUES(NULL,'java好',100,'ke',1);

2.2 创建有多个执行语句的触发器

CREATE  TRIGGER 触发器名  BEFORE | AFTER  触发事件 ON 表名 FOR EACH ROW BEGIN 执行语句列表 END

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(),'在book表里删除了一条数据');
       DELETE FROM t_test WHERE old.bookTypeId=t_test.id;
    END
|
DELIMITER ;

 

DELETE FROM t_book WHERE id=3;

三、查看触发器

3.1SHOW TRIGGERS 语句查看触发器信息

SHOW TRIGGERS;

3.2 在 triggers 表中查看触发器信息

四、删除触发器

DROP  TRIGGER 触发器名;

DROP TRIGGER trig_book2 ;

posted on 2018-01-25 17:05  超群&Q  阅读(197)  评论(0编辑  收藏  举报