zoukankan      html  css  js  c++  java
  • 十一、MySQL触发器

      MySQL的触发器和存储过程一样,都是嵌入到MySQL的一段程序。触发器是由事件来触发某个操作,这些事件包括INSERT、UPDATE和DELETE语句。如果定义了触发程序,当数据库执行这些语句的时候就会激发触发器执行相应的操作,触发程序是与表有关的命名数据库库对象,当表上出现特定事件时,将激活该对象。

    一、创建触发器

      触发器是个特殊的存储过程,不同的是,执行存储过程要使用CALL语句来调用,而触发器的执行不需要使用CALL语句来调用,也不需要手工启动,只要当一个预定义的事件发生的时候,就会被MySQL自动调用。

      触发器可以查询其他表,而且可以包括复杂的SQL语句。它们主要用于满足复杂的业务规则和要求。

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

      创建一个触发器的语句如下:

    CREATE TRIGGER trigger_name trigger_time trigger_event ON tb1_name FOR EACH ROW trigger_stmt

      其中trigger_name标识触发器名称,用户自行指定;trigger_time标识触发时机,可以指定为before或after;trigger_event标识触发事件,包括INSERT、UPDATE和DELETE;tb1_name标识创建触发器的表名,即在哪张表上创建触发器;trigger_stmt是触发器执行语句。

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

      创建多个执行语句的触发器的语法如下:

    CREATE TRIGGER trigger_name trigger_time trigger_event
    ON tb1_name FOR EACH ROW
    BEGIN
        语句执行列表
    END

      其中trigger_name标识触发器的名称,用户自行指定;trigger_time标识触发时机,可以指定为before和after;trigger_event标识触发事件,包括INSERT、UPDATE和DELETE;tb1_name标识建立触发器的表名,即在哪张表上建立触发器;触发器程序可以使用BEGIN和END作为开始和结束,中间包含多条语句。

    二、查看触发器

      查看触发器是指查看数据库中已存在的触发器的定义、状态和语法信息等。可以通过命令来查看已经创建的触发器。

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

      通过SHOW TRIGGERS查看触发器的语句如下:

    SHOW TRIGGERS;

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

      在MySQL中所有触发器的定义都存在INFORMATION_SCHEMA数据库TRIGGERS表格中,可以通过查询命令SELECT来查看,具体的语法如下:

    SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE condition;

    三、触发器的使用

      触发程序是与表有关的命名数据库对象,当表上出现特定事件时,将激活该对象。在某些触发程序的用法中,可用于检查插入到表中的值,或对更新涉及的值进行计算。

      触发程序与表相关,当对表执行INSERT、UPDATE或DELETE语句时,将激活触发程序。可以将触发程序设置为在执行语句之前或之后激活。

    四、删除触发器

      使用DROP TRIGGER语句可以删除MySQL中已经定义的触发器,删除触发器语句基本语法格式如下:

    DROP TRIGGER [schema_name.]trigger_name

      其中schema_name表示数据库名称,是可选的。如果忽略了schema,将从当前数据库中删除触发程序;trigger_name是要删除的触发器的名称。

  • 相关阅读:
    react 给选中的li添加样式
    纯css实现移动端横向滑动列表
    从一个Git仓库转移到另外一个仓库
    create-react-app 创建react项目 多页面应用
    JetBrains出品,一款好用到爆的数据库工具
    gloox环境搭建并运行example(小白教程,有图版本)
    Dubbo服务注册原理
    永久解决 matplotlib 图例中文方块错误
    对称二叉树
    SpringBoot运行原理
  • 原文地址:https://www.cnblogs.com/xmcwm/p/15189350.html
Copyright © 2011-2022 走看看