TreeMind树图在线AI思维导图
当前位置:树图思维导图模板读书笔记个人成长SQL语法速成手册触发器思维导图

SQL语法速成手册触发器思维导图

  收藏
  分享
免费下载
免费使用文件
ZYJ 浏览量:62022-10-29 11:05:28
已被使用0次
查看详情SQL语法速成手册触发器思维导图

SQL触发器的学习笔记

树图思维导图提供 SQL语法速成手册触发器 在线思维导图免费制作,点击“编辑”按钮,可对 SQL语法速成手册触发器  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:2c2bc9558a11220418e2710e436adf12

思维导图大纲

SQL语法速成手册触发器思维导图模板大纲

十二、触发器

概述

触发器是一种与表操作有关的数据库对象,当触发器所在表上出现指定事件时,将调用该对象,即表的操作事件触发表上的触发器的执行。

可以使用触发器来进行审计跟踪,把修改记录到另外一张表中。

MySQL 不允许在触发器中使用 CALL 语句 ,也就是不能调用存储过程。

BEGIN 和 END

当触发器的触发条件满足时,将会执行 BEGIN 和 END 之间的触发器执行动作。

🔔 注意:

在 MySQL 中,分号 ; 是语句结束的标识符,遇到分号表示该段语句已经结束,MySQL 可以开始执行了。因此,解释器遇到触发器执行动作中的分号后就开始执行,然后会报错,因为没有找到和 BEGIN 匹配的 END。

这时就会用到 DELIMITER 命令(DELIMITER 是定界符,分隔符的意思)。它是一条命令,不需要语句结束标识,语法为:DELIMITER new_delemiter。new_delemiter 可以设为 1 个或多个长度的符号,默认的是分号 ;,我们可以把它修改为其他符号,如 $ - DELIMITER $ 。在这之后的语句,以分号结束,解释器不会有什么反应,只有遇到了 $,才认为是语句结束。注意,使用完之后,我们还应该记得把它给修改回来。

NEW 和 OLD

MySQL 中定义了 NEW 和 OLD 关键字,用来表示触发器的所在表中,触发了触发器的那一行数据。

在 INSERT 型触发器中,NEW 用来表示将要(BEFORE)或已经(AFTER)插入的新数据;

在 UPDATE 型触发器中,OLD 用来表示将要或已经被修改的原数据,NEW 用来表示将要或已经修改为的新数据;

在 DELETE 型触发器中,OLD 用来表示将要或已经被删除的原数据;

使用方法: NEW.columnName (columnName 为相应数据表某一列名)

创建触发器

CREATE TRIGGER 指令用于创建触发器。

语法:

CREATE TRIGGER trigger_name

trigger_time

trigger_event

ON table_name

FOR EACH ROW

BEGIN

trigger_statements

END;

说明:

trigger_name:触发器名

trigger_time: 触发器的触发时机。取值为 BEFORE 或 AFTER。

trigger_event: 触发器的监听事件。取值为 INSERT、UPDATE 或 DELETE。

table_name: 触发器的监听目标。指定在哪张表上建立触发器。

FOR EACH ROW: 行级监视,Mysql 固定写法,其他 DBMS 不同。

trigger_statements: 触发器执行动作。是一条或多条 SQL 语句的列表,列表内的每条语句都必须用分号 ; 来结尾。

示例:

DELIM ITER $

CREATE TRIGGER `trigger_insert_user`

AFTER INSERT ON `user`

FOR EACH ROW

BEGIN

INSERT INTO `user_history`(user_id, operate_type, operate_time)

VALUES (NEW.id, 'add a user', now());

END $

DELIMITER ;

查看触发器

SHOW TRIGGERS;

删除触发器

DROP TRIGGER IF EXISTS trigger_insert_user;

相关思维导图模板

Java基础思维导图思维导图

树图思维导图提供 Java基础思维导图 在线思维导图免费制作,点击“编辑”按钮,可对 Java基础思维导图  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:61ba3e6091b2775461ca310c76669229

语法填空纯空格思维导图

树图思维导图提供 语法填空纯空格 在线思维导图免费制作,点击“编辑”按钮,可对 语法填空纯空格  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:be024c6b3aa828baef5aec76137c1e7e