MYSQL触发器详解:DELIMITER使用与触发器操作
需积分: 9 8 浏览量
更新于2024-07-12
收藏 102KB PPT 举报
"本文主要介绍了在MYSQL中使用DELIMITER关键字改变语句结束符以及触发器的概念、作用和操作方法,包括创建、查看和删除触发器的步骤。"
在MYSQL数据库中,`DELIMITER`是一个非常关键的命令,用于在创建触发器等需要使用分号的地方更改语句的结束符号。通常,MYSQL语句以分号(;)作为语句的结束标志,但在创建触发器时,由于触发器内部可能包含分号,这会导致解析错误。为了避免这个问题,我们可以使用`DELIMITER`声明一个新的结束符号,比如`$$`,使得在触发器定义内的分号不会被误解为语句结束,而是在`$$`后才结束整个触发器定义。
触发器(TRIGGER)是MYSQL中的一个重要特性,它是一种预定义的数据库对象,与存储过程类似,但其执行不是由用户直接调用,而是由特定的数据库操作(如INSERT、UPDATE、DELETE)触发。触发器可以用来在数据修改前或后执行特定的逻辑,确保数据的完整性和一致性。在上述例子中,当学生信息表的学号更改时,通过触发器可以自动更新学生借书记录表,或者在删除学生信息时,同时删除其对应的借书记录。
创建触发器时,需要提供以下几个要素:
1. **触发器名称**:必须是唯一的,用于标识触发器。
2. **关联表**:触发器作用的表。
3. **触发事件**:定义触发器何时执行,包括INSERT、UPDATE、DELETE。
4. **执行时机**:BEFORE或AFTER,表示在执行数据库操作之前或之后触发。
创建触发器的基本语法如下:
```sql
CREATE TRIGGER 触发器名
BEFORE|AFTER 触发事件
ON 表名
FOR EACH ROW
触发器语句
```
`FOR EACH ROW`表示对于每次受影响的行,都会执行触发器语句。
创建触发器时需注意:
- 触发器只能应用于基础表,不能是临时表或视图。
- 触发事件包括INSERT、UPDATE、DELETE,且每个表上针对同一事件和时间的触发器不能重复。
- 触发器执行顺序是:BEFORE触发器 -> 表操作 -> AFTER触发器。
- 触发器不能返回结果,因此不应包含SELECT语句,也不能调用返回结果的函数。
此外,除了单个语句的触发器,还有执行多个语句的触发器,它们可以完成更复杂的业务逻辑。触发器是数据库系统中的一个重要工具,能够帮助我们在数据操作时自动执行额外的逻辑,提高数据管理的效率和准确性。
2007-04-19 上传
187 浏览量
460 浏览量
852 浏览量
122 浏览量
238 浏览量
411 浏览量
2453 浏览量
608 浏览量
黄子衿
- 粉丝: 21
- 资源: 2万+
最新资源
- 软件体系结构 系统分析师 系统架构师
- 微内核工作流引擎体系结构与部分解决方案参考
- svn tortoise
- C#教程 基于pdf格式
- j2ee中文指南(安全,事物,ejb等)
- PC与三菱FX2N型PLC串口通信的实现
- S3C2410完全开发流程
- flex程序员杂志,国内唯一的flex专业杂志,里面包含很多精华帖子
- 详细图解说明多普达S1 手机永久解锁刷机
- jquery入门教程
- ActionScript 3.0 Cookbook 中文完整版
- c#2003水晶报表总结,讲的很细很全面。
- 软件工程思想 讲述“软件开发”和“做程序员”的道理
- Microsoft Visual Studio .NET 使用技巧手册
- 08年下半年网络工程师考试题(下午).pdf
- dot Net Mobile