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 ;

  • 相关阅读:
    scala简单的功能实现~weektwo
    linux中/dev/null与2>&1讲解
    scala简单的功能实现~weekone
    oracle之随机数
    oracle之percent_rank() over()函数和PERCENTILE_CONT() within group()over()函数详解
    awk编程的基本用法
    Django-路由系统
    selectors模块
    threading中定时器Timer方法
    HTML-W3school首页制作
  • 原文地址:https://www.cnblogs.com/xiaoyqng/p/8352131.html
Copyright © 2011-2022 走看看