23. 使用存储过程
1. 存储过程
- 存储过程简单来说,就是为以后的使用而保存的一条或多条MySQL语句的集合。可将其视为批文件,虽然它们的作用不仅限于批处理
2. 为什么要使用存储过程
- 使用存储过程有3个主要的好处,即简单、安全、高性能。显然,它们都很重要
3. 使用存储过程
3.1. 执行存储过程
- MySQL称存储过程的执行为调用,因此MySQL执行存储过程的语句为CALL。
- 存储过程可以显示结果,也可以不显示结果,
3.2. 创建存储过程

临时更改命令行实用程序的语句分隔符
使用该存储过程
3.3. 删除存储过程

- 仅当存在时删除如果指定的过程不存在,则DROP PROCEDURE将产生一个错误。当过程存在想删除它时(如果过程不存在也不产生错误)可使用DROP PROCEDURE IF EXISTS。
3.4. 使用参数
变量(variable)内存中一个特定的位置,用来临时存储数据。
此存储过程接受3个参数:pl存储产品最低价格,ph存储产品最高价格,pa存储产品平均价格。每个参数必须具有指定的类型,这里使用十进制值。关键字OUT指出相应的参数用来从存储过程传出一个值(返回给调用者)。MySQL支持IN(传递给存储过程)、OUT(从存储过程传出,如这里所用)和INOUT(对存储过程传入和传出)类型的参数。存储过程的代码位于BEGIN和END语句内,如前所见,它们是一系列SELECT语句,用来检索值,然后保存到相应的变量(通过指定INTO关键字)
存储过程的参数允许的数据类型与表中使用的数据类型相同。
为了显示检索出的产品平均价格,可如下进行:
这次使用IN和OUT参数。ordertotal接受订单号并返回该订单的合计:
3.5. 建立智能存储过程


3.6. 检查存储过程
为显示用来创建一个存储过程的CREATE语句,使用SHOW CREATE PROCEDURE语句:

限制过程状态结果 SHOW PROCEDURE STATUS列出所有存储过程。为限制其输出,可使用LIKE指定一个过滤模式,

23. 使用存储过程
http://binbo-zappy.github.io/2024/11/27/mysql_bzbh/23-使用存储过程/