本篇内容主要讲解“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中触发器的使用方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。