数据库原理与应用 第 16 章 · 第一节
课程 › 第 16 章 › 第一节 章首触发器是什么执行过程用途 版式
第 16 章 触发器和事件 · 第一节

触发器概述

触发器和事件是什么,BEFORE 和 AFTER 两种触发器,触发器的执行过程和用途
本 节 知 识 点
  1. 01第 16 章 触发器和事件
  2. 02触发器与事件
  3. 03触发器的分类及执行过程
  4. 04触发器的用途
01
第 16 章 · 第一节 · 课件第 1、3、4、5 页

第 16 章 触发器和事件

两种不用调用、自动执行的数据库对象。

课件第 1 页

分清楚

对象什么时候执行
触发器表中数据变化时
事件到了指定的时间

重 点

上一章的存储过程要用 CALL 调用。触发器和事件都由 MySQL 自动执行。

02
第 16 章 · 第一节 · 课件第 2、6 页合并重做

触发器与事件

触发器由表上的操作引起,事件由时间引起。

16.1 MySQL 触发器课件第 2、6 页合并

触发器与事件

什么时候执行由谁执行
触发器 TRIGGER表中插入、修改或删除记录时由对表的操作触发
事件 EVENT到了指定的时刻,或每隔一段时间由事件调度器调用
触发器的特点
  • 定义在表上,保护表中的数据,只能用于永久表,不能用于临时表
  • 与存储过程的区别是自动执行,不用 CALL
  • 基于一个表建立,但可以操作多个表,能实现复杂的完整性约束
两种触发时机
时机执行时间常用于
BEFORE触发事件之前数据校验,例如类型、格式
AFTER触发事件之后后续的统计和记录,例如行数、平均值、日志

重 点

BEFORE 在操作之前执行,适合检查和修改将要写入的数据。

03
第 16 章 · 第一节 · 课件第 7 页

触发器的分类及执行过程

插入、修改、删除三种事件,各有 BEFORE 和 AFTER 两种时机。

课件第 7 页

重 点

先执行 BEFORE 触发器,再修改表中的数据,最后执行 AFTER 触发器。

04
第 16 章 · 第一节 · 课件第 8 页

触发器的用途

安全检查、数据校验、审计、备份同步、自动计算、复杂的完整性规则。

课件第 8 页

想一想

触发器能完成的检查,外码和 CHECK 约束也能完成吗?

保山学院·人工智能教研室·曹鼎鼎