温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MariaDB中触发器的使用方法

发布时间:2021-06-30 15:26:37 来源:亿速云 阅读:273 作者:chen 栏目:大数据

本篇内容主要讲解“MariaDB中触发器的使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MariaDB中触发器的使用方法”吧!

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

1、在MariaDB 中创建只有一个执行语句的触发器的基本形式为:

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

其中,触发器名参数指要创建的触发器的名字:BEFORE和AFTER参数指定了触发器执行的时间,BEFORE指在触发器事件之前执行触发语句,AFTER表示在触发器事件之后执行触发器语句。触发事件包括:INSERT、UPDATE、DELETE ,表名参数指的是触发器事件发生的表的名称,FOR EACH ROW 表示任何一条记录上的操作满足触发事件都会触发该触发器,执行语句参数是指触发器被触发后执行的程序。

例如下列代码:

CREATE TRIGGER login_trigger AFTER INSERT ON login FOR EACH ROW 
INSERT INTO trigger_psd VALUES(NOW());

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

触发器执行的语句可能有多个,创建有多个执行语句的触发器的基本形式为:

CREATE TRIGGER 触发器名 BEFORE|AFTER 触发事件

    ON 表名  FOR EACH ROW 

    BEGIN

            执行语句列表 

    END

其中:BEGIN与END之间的“执行语句列表”参数表示需要执行的多个执行语句的内容,不同的执行语句之间使用分号隔开。

例如:

DELIMITER &&
CREATE TRIGGER dept_trig2 AFTRE DELETE
      ON department FOR EACH ROW
      BEGIN
          INSERT INTO trigger_time values("21:01:01");
          INSERT INTO trigger_time values("22:01:01");
      END
     &&
DELIMITER

注意:在MySQL(MariaDB)中一个表在相同触发时间的相同触发事件只能创建一个触发器。例如在department表中,触发事件INSERT,触发时间为AFTEER的触发器只能有一个。但是可以定义触发事件为BEFORE 的触发器。如果该表中国执行INSERT语句,那么这个触发器就会自动执行。

3、查看触发器

在MariaDB 中可以使用SHOW TRIGGERS 语句来查看触发器的基本信息,其基本形式如下:

SHOW TRRIGERS;

4、在triggers表中查看触发器的信息

在MariaDB中所有的触发器都定义在information_shema数据库下的triggers表中。查询triggers表可以看到数据库中所有的触发器信息,代码如下:

SELECT * FROM  information_schema.triggers;

查询特定名称的触发器代码为:

SELECT * FROM information_schema.triggers where TRIGGER_NAME='触发器名';

5、删除触发器

删除已经存在数据库中的触发器代码形式如下:

DROP TRIGGER 触发器名;

例如:

DROP TRIGGER dept_trig1;

到此,相信大家对“MariaDB中触发器的使用方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI