zoukankan      html  css  js  c++  java
  • 触发器

    一、触发器的引入

    触发器(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 ;

  • 相关阅读:
    五分钟搭建起一个包含CRUD功能的JqGrid表格
    TDD学习笔记【六】一Unit Test
    CQRS
    开源一个vue2的tree组件
    权限管理[Linux]
    文件管理[Linux]
    查看文本[Linux]
    常用命令[Linux]
    文件管理[Linux]
    状态机工作流
  • 原文地址:https://www.cnblogs.com/xiaoyqng/p/8352131.html
Copyright © 2011-2022 走看看