美文网首页
SQL之触发器的使用

SQL之触发器的使用

作者: 安静的学点东西 | 来源:发表于2017-09-07 12:13 被阅读320次

触发器的引入

触发器(trigger)是由事件来触发某个操作。这些事件包括对数据库的更删改查等操作。当数据库执行这些事件的时候,就会激活触发器执行相应的操作。

创建与使用触发器

  • 创建只有一个执行语句的触发事件
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, "first book", 1);   //当插入的时候,会将插入的书对应的类型表中相同id的数量加1     
  • 创建有多个执行语句的触发器
CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件
         ON 表名 FOR EACH ROW
         BEGIN
           执行语句
         END
举个栗子
DELIMITER |   //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表里删除了一条数据');//这里新增一张t_log表用于记录历史操作
    END 
|
DELIMITER ;

DELETE FROM t_book WHERE id=5;

查看触发器

  • SHOW TRIGGERS 语句查看触发器信息
SHOW TRIGGERS;
  • 在triggers表中查看触发器信息

删除触发器

DROP TRIGGER 触发器名
DROP TRIGGER trig_book;

相关文章

  • 第十七章 使用触发器

    第十七章 使用触发器 本章介绍如何在Intersystems SQL中定义触发器。触发器是响应某些SQL事件执行的...

  • SQL之触发器的使用

    触发器的引入 触发器(trigger)是由事件来触发某个操作。这些事件包括对数据库的更删改查等操作。当数据库执行这...

  • mysql sql编程

    mysql的sql编程一般使用在 存储过程/触发器/事件 等sql程序中。 DECLARE 变量申明 1、使用DE...

  • MySQL必会知识点学习

    1、触发器 什么是触发器? 为什么要使用触发器? 如果你想某些SQL语句在事件发生时自动执行。EG: 1)每当订购...

  • mysql 触发器

    语法 (触发器SQL语句)--触发器包含索要触发的SQL语句:这里的语句可以是任何合法的语句,也包含符合语句,但是...

  • mysql视图,触发器,存储过程优缺点及应用分析

    mysql视图,触发器,存储过程优缺点及应用分析 视图 mysql使用较少,是sql server和orcale使...

  • SQL之触发器

    触发器是一种特殊的存储过程,它不能被显式地调用,而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。 所以触...

  • Mysql触发器(下篇)

    接着Mysql触发器上篇来讲-------- 根据上篇的插入触发器,sql语句如下: create trigger...

  • 2021-04-08 表触发器

    Navicat Premium 里触发器位置在设计表里(触发器里,名:触发器名字;触发:什么时候触发(sql执行前...

  • 触发器简单介绍

    触发器简单介绍 触发器定义 触发器:根据事件触发机制自动触发的一段sql语句。触发器的主要作用 数据完整性约束 对...

网友评论

      本文标题:SQL之触发器的使用

      本文链接:https://www.haomeiwen.com/subject/sdcijxtx.html