MySQL系列教程二---触发器
来源:互联网 发布:黄金投资软件 编辑:程序博客网 时间:2024/05/22 00:06
1. 触发器简介
触发器是一个特殊的存储过程,执行存储过程需要使用CALL语句来调用,但是触发器的执行不需要用CALL语句调用,也不需要手工启动,只要的当一个预定义的事件发生时,就会被MYSQL自动调用。比如当对fruits表进行INSERT,DELETE或UPDATE操作时就会激活它。触发器可以查询数据表,而且可以包含复杂的SQL语句,主要用于复杂的业务规则或要求。
1.1创建只包含一个执行语句的触发器
CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR RACH ROW trigger_stmt
trigger_name:触发器名称,用户自行指定;
trigger_time:触发时机,取值为 BEFORE 或 AFTER;
trigger_event:触发事件,取值为 INSERT、UPDATE 或 DELETE;
tbl_name:建立触发器的表名,即在哪张表上建立触发器;
trigger_stmt:触发器程序体,可以是一句SQL语句,或者用 BEGIN 和 END 包含的多条语句。
由此可见,可以建立6种触发器,即:BEFORE INSERT、BEFORE UPDATE、BEFORE DELETE、AFTER INSERT、AFTER UPDATE、AFTER DELETE。
另外有一个限制是不能同时在一个表上建立2个相同类型的触发器,因此在一个表上最多建立6个触发器。
2.查看触发器
查看触发器是指查看数据库中存在的触发器的定义、状态和语法信息等。本节介绍两种查看触发器的方法,分别为show triggers语句查看和在triggers表中查看触发器信息。
2.1用show triggers语句查看
语句如下:
SHOW TRIGGERS;
直接使用该条语句查看的信息可能有些混乱,可以在该条语句之后加上”\G”显示信息会比较有条理;
2.2在triggers表中查看触发器信息
在MySQL中,所有的触发器的定义都存在于INFORMATION_SCHEMA数据库的triggers表中,可以通过查询命令SELECT来查看,具体语法如下:
SELECT * FROM INFORMATION_SCHEMA.TRIGGERS WHERE condition;
3.删除触发器
使用DROP TRIGGERS语句可以删除触发器,基本语法如下:
DROP TRIGGERS [schema_name.]trigger_name
其中,schema_name是数据库的名称,是可选的。如果省略了schema,将从当前数据库中舍弃触发程序。trigger_name是要删除的触发器的名称。
- MySQL系列教程二---触发器
- MySQL系列教程(二)
- mysql系列:触发器使用
- MySQL系列教程(二)-推荐
- MySQL学习系列11:触发器
- Quartz.NET学习系列(二)--- 简单触发器
- NGUI系列教程二
- NGUI系列教程二
- GCC系列教程 二
- NGUI系列教程二
- NGUI 系列教程二
- jquery系列教程二
- NGUI系列教程二
- Struts2系列教程(二)
- 读书笔记-MySQL存储过程编程教程-触发器
- **MYSQL** 系列二
- 简单MySQL教程二
- 数据结构系列教程(二)
- Python 将拼音转换成汉字
- 5-6 混合类型数据格式化输入 (5分)
- Javascript--01
- linux驱动由浅入深系列:中断申请及下半部处理机制
- c++ 利用libcurl实现文件断点续传
- MySQL系列教程二---触发器
- 5-8 超速判断 (10分)
- Tomcat域名或IP地址访问方式配置方法
- Exercise for Core Jave(Core Jave 练习题)
- Struts 2.5 使用DMI遇到的问题
- Data Integration学习笔记 --- 数据集成后数据校验细节
- [LeetCode]121 Best Time to Buy and Sell Stock
- 基于注解@Aspect的AOP实现
- 通知与消息机制_本地通知