[My SQL] 使用存储过程

来源:互联网 发布:人人商城源码 编辑:程序博客网 时间:2024/06/16 22:04

存储过程相当于函数,可以为以后的使用而保存一条或者多条MySQL语句的集合。

存储过程可以有输入和输出。

我们以products表为例:


我们想要查询某个vend订购的商品的最大值、最小值和总价,这是一个统一的请求过程,可以用函数来表示,即存储过程。

首先我们可以建立一个存储过程如下:


这个存储过程,相当于一个计算对应vend购买商品最大值最小值和平均值的函数。

首先,由于我们使用的是命令行,使用;作为一个命令的结尾。但是在存储过程中,需要使用多条命令以及;,因此我们使用DELIMITER //将命令的结束标志更改为//,在建立完存储过程之后使用DELIMITER ;更改过来。

建立存储过程的命令为CREATE PROCEDURE +存储过程的名称,括号里面是可选的参数。在这里我们有一个输入,三个输出。参数的格式为 IN/OUT + 变量名称 + 数据类型。

在BEGIN END包含的句段里面,我们使用了三个SELECT将结果分别赋值给三个变量。


接下来我们来调用这个存储过程,以及查看调用结果:


使用CALL+存储过程名称 可以调用这个存储过程,括号里需要对应每个参数。

存储过程是没有显示结果的,我们可以通过调用已经赋值的变量来显示。所有MySQL变量都必须以@开始。


可以使用下面语句来查看一个存储过程:

SHOW CREATE PROCEDURE +存储过程名;

删除存储过程:

DROP PROCEDURE +存储过程名;




原创粉丝点击