什么是存储过程

  • MySQL 5.0 版本开始支持存储过程。
  • 存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据

库对象。存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过 指定存储过程的名字并给定参数(需要时)来调用执行。

  • 简单理解: 存储过程其实就是一堆 SQL 语句的合并。中间加入了一些逻辑控制

 

 

存储过程的优缺点

优点:

  • 存储过程一旦调试完成后,就可以稳定运行,(前提是,业务需求要相对稳定,没有变化)
  • 存储过程减少业务系统与数据库的交互,降低耦合,数据库交互更加快捷(应用服务器,与

数据库服务器不在同一个地区)

缺点:

  • 在互联网行业中,大量使用MySQL,MySQL的存储过程与Oracle的相比较弱,所以较少使

用,并且互联网行业需求变化较快也是原因之一

  • 尽量在简单的逻辑中使用,存储过程移植十分困难,数据库集群环境,保证各个库之间存储

过程变更一致也十分困难。

  • 阿里的代码规范里也提出了禁止使用存储过程,存储过程维护起来的确麻烦;

 

 

什么是触发器

触发器(trigger)是MySQL提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事

件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发,比如当对

一个表进行操作(insert,delete, update)时就会激活它执行。——百度百科

简单理解: 当我们执行一条sql语句的时候,这条sql语句的执行会自动去触发执行其他的sql语句。

 

 

触发器创建的四个要素

1. 监视地点(table)

2. 监视事件(insert/update/delete)

3. 触发时间(before/after)

4. 触发事件(insert/update/delete)

 

posted on 2020-12-16 23:58  未来是靠自己的  阅读(79)  评论(0)    收藏  举报