当前位置:   article > 正文

MySQL触发器的创建、查看、删除、存储过程与触发器的区别等

MySQL触发器的创建、查看、删除、存储过程与触发器的区别等

1、什么是触发器

简单点来说触发器就是一个特殊的存储过程,不过存储过程需要手动调用,而触发器自动调用。

一张图来简单说明触发器:

在这里插入图片描述

触发器:触发器是数据库中针对数据库表操作触发的一种特殊的存储过程。

2、创建触发器
delimiter $$
create trigger 数据库名.触发器名
	before/after  -- 触发器执行的顺序
	insert/update/delete -- 触发事件
on 数据库名.表名 -- 事件表
for each row
begin
	触发器内容 -- 事件触发后要写的语句
end $$
delimiter ;

说明:
	触发器触发时间分为before和after两种
	主要针对表的增删改操作,可单独指定,也可全部指定。
	
eg:
delimiter $$
create trigger trig_delstu_delsc
before delete on student for each row 
begin 
	-- old 已经存在于数据库中的数据
	-- new 还不存在于数据库中的数据
	delete from sc where sid = old.sid;
end $$
delimiter ;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
3、查看所有的触发器
SELECT * FROM information_schema.`TRIGGERS`
WHERE trigger_schema = ‘库名'
  • 1
  • 2
4、删除触发器
DROP TRIGGER 触发器名
  • 1
5、常见的触发器案例

利用触发器映射部门表中每个部门的总人数和平均工资,步骤:

​ 1、创建部门表,包含字段部门编号,部门名称,部门人数和平均工资;

​ 2、创建触发器;

​ 3、分别执行DML语句验证。

利用触发器记录删除的数据,并保存在删除表中,步骤:

​ 1、创建删除记录表;

​ 2、创建触发器;

​ 3、执行DELETE语句验证。

6、存储过程与触发器的区别
  1. 语法:存储过程procedure,触发器trigger
  2. 执行:存储过程需要调用菜执行,触发器自动执行
  3. 返回值:存储过程可以定义返回值,触发器没有返回值
  4. 功能:存储过程是一组特定功能的SQL语句,触发器则是SQL语句前后执行,本身不影响原功能。
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/601986
推荐阅读
相关标签
  

闽ICP备14008679号