MySQL存储过程
MySQL存储过程的定义
MySQL 存储过程是⼀组 预编译的 SQL 语句 ,可以在 MySQL 数据库中 定义和存储 ,并在 需要时执⾏ 。存储过程可以接受参数、执⾏条件判断、循环、异常处理等操作,使得开发⼈员可以把⼀系列操作组合成⼀个可重复使⽤的单
元,从⽽提⾼代码的复⽤性和可维护性。
存储过程的存放位置
存储过程保存在mysql.proc表中
创建存储过程:CREATE PROCEDURE 存储过程名(参数1,参数2,..,参数3)BEGIN 要执行的语句 END
一个简单的存储过程

注意:ALTER语句修改存储过程只能修改存储过程的注释等⽆关紧要的东⻄,不能修改存储过程体,所以要修改存储过程,⽅法就是删除重建
查看某一具体存储过程的定义:SHOW CREATE PROCEDURE 存储过程名称;

存储过程的意义与优势
存储过程把经常使⽤的SQL语句或业务逻辑封装起来,预编译保存在数据库中,当需要时从数据库中直接调⽤,省去了编译的过程(提高运行速度的原因)
提⾼了运⾏速度,同时降低⽹络数据传输量,存储过程相当于独⽴命令可以直接调⽤
- 提⾼性能
- 提⾼安全性
- 提⾼可维护性
- 提⾼可重⽤性
- ⽀持事务处理 ACID
存储过程与⾃定义函数的区别
- 返回值类型不同:⾃定义函数必须返回⼀个值,⽽存储过程可以不返回任何值。
- 使⽤⽅式不同:⾃定义函数可以在SQL语句中使⽤,如SELECT语句中的函数调⽤,⽽存储过程需要通过CALL
语句来调⽤。 - 事务处理能⼒不同:存储过程可以包含事务处理代码,⽽⾃定义函数不能。
- 参数传递⽅式不同:⾃定义函数只能通过参数传递来接收输⼊值,并返回计算结果。⽽存储过程可以通过输
⼊、输出、输⼊输出三种参数类型来传递参数。 - 可重⽤性不同:⾃定义函数可以在多个查询中使⽤,⽽存储过程需要单独调⽤。

浙公网安备 33010602011771号