1、使用前需修改MySQL默认的结束符为 // ,否则MySQL遇到默认结束符‘;’就会终止这条语句
2、存储过程的创建
create procedure p1(
OUT field1 DECIMAL(8,2),
OUT field2 DECIMAL(8,1),
OUT field3 DECIMAL(8,3)
)
BEGIN
SELECT Min(price) INTO field1 FROM table;
SELECT Max(price) INTO field2 FROM table;
SELECT Avg(price) INTO field3 FROM table;
END//
- 创建一个名字为p1的存储过程,IN表示传入参数,OUT表示传出参数,DECIMAL表示十进制数
- 传出参数分别为table表的price字段的最小值、最大值、平均值
- 逻辑代码应写在BEGIN与END之间
create procedure p2( IN id INT, OUT total DECIMAL(8,2) ) BEGIN SELECT Sum(price) INTO total FROM goods WHERE gid=id; END//3、调用存储过程
示例1:call p1(@filed1, @filed2, @filed3) 示例2:call p2(3, @total)
使用关键字call 存储器名() 调用
不管有没有参数,后面必须使用()
传出数据需要变量接收,前面加@
4删除存储过程
drop procedure p1// 注意:不能在一个存储过程中删除另一个存储过程,只能调用另一个存储过程
5、其他命令
显示数据库中所有存储的存储过程基本信息,包括所属数据库,存储过程名称,创建时间等
show procedure status
显示某一个存储过程的详细信息
show create procedure p1
本文介绍如何在MySQL中创建、调用及删除存储过程,并演示了两个实例:获取表中特定字段的最小值、最大值、平均值,以及计算某个ID对应的总价格。

被折叠的 条评论
为什么被折叠?



