我是靠谱客的博主 想人陪钻石,这篇文章主要介绍MySQL数据库存储过程及触发器,现在分享给大家,希望可以做个参考。

MySQL数据库存储过程及触发器

    • 1.存储过程
      • 1.1概念
      • 1.2作用
      • 1.3基本语法
        • 创建存储过程
        • 调用存储过程
    • 2.触发器
      • 2.1概念
      • 2.2作用
      • 2.3基本语法

1.存储过程

1.1概念

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。在数据量特别庞大的情况下利用存储过程能达到倍速的效率提升

1.2作用

  1. 重复使用。存储过程可以重复使用,从而可以减少数据库开发人员的工作量。
  2. 提高性能。存储过程在创建的时候就进行了编译,将来使用的时候不用再重新编译。一般的SQL语句每执行一次就需要编译一次,所以使用存储过程提高了效率。
  3. 减少网络流量。存储过程位于服务器上,调用的时候只需要传递存储过程的名称以及参数就可以了,因此降低了网络传输的数据量。
  4. 安全性。参数化的存储过程可以防止SQL注入式的攻击,而且可以将Grant、Deny以及Revoke权限应用于存储过程

1.3基本语法

创建存储过程

create procedure 存储过程名(in 参数名 参数类型)
begin
	sql语句
	...
end;

调用存储过程

call 存储过程名(传参);

2.触发器

2.1概念

是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当对某一表进行诸如Update、 Insert、 Delete 这些操作时,SQL Server 就会自动执行触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规则

2.2作用

  1. 安全性。可以基于数据库的值使用户具有操作数据库的某种权利;
    可以基于时间限制用户的操作,例如不允许下班后和节假日修改数据库数据;
    可以基于数据库中的数据限制用户的操作,例如不允许股票的价格的升幅一次超过10%。
  2. 审计。可以跟踪用户对数据库的操作;
  3. 实现复杂的数据完整性规则;
  4. 实现复杂的非标准的数据库相关完整性规则。
  5. 自动计算数据值,如果数据的值达到了一定的要求,则进行特定的处理。例如,如果公司的帐号上的资金低于5万元则立即给财务人员发送警告数据。

2.3基本语法

CREATE TRIGGER 名称

创建触发器,并且为它取一个名称

{BEFORE|AFTER}  {INSERT|DELETE|UPDATE}  ON 表名

在哪张表添加/删除/修改 的 之前/之后执行

FOR EACH ROW 执行相应的sql

每一行都会执行相应的操作

最后

以上就是想人陪钻石最近收集整理的关于MySQL数据库存储过程及触发器的全部内容,更多相关MySQL数据库存储过程及触发器内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部