您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息

详解MySQL调用存储过程和函数(案例)

2024/3/29 5:34:09发布5次查看
存储过程和函数有多种调用方法。存储过程必须使用call语句调用,并且存储过程和数据库相关,如果要执行其他数据库中的存储过程,需要指定数据库名称。例如call dbname.procname。存储函数的调用与mysql中预定义的函数的调用方式相同。
(免费学习推荐:mysql视频教程)
1、调用存储过程
存储过程是通过call 语句进行调用的,语法如下:
call sp_name([parameter[,...])
call语句调用一个先前用create procedure创建的存储过程,其中sp_name为存储过程名称,parameter为存储过程的参数。
【例1】定义名为countprocl的存储过程,然后调用这个存储过程。
定义存储过程:
mysql> delimiter //mysql> create procedure countprocl(in sid int ,out num int)    -> begin    -> select count(*) into num from fruits where s_id = sid;    -> end //query ok, 0 rows affected (0.06 sec)mysql> delimiter ;
调用存储过程:
mysql> call countprocl (101,@num);query ok, 1 row affected (0.08 sec)
查看返回结果:
mysql> select @num;+------+| @num |+------+|    3 |+------+1 row in set (0.00 sec)
该存储过程返回了指定s_id=101的水果商提供的水果种类,返回值存储在num变量中,使用select查看,返回结果为3。
2、调用存储函数
在mysql中,存储函数的使用方法与mysql内部函数的使用方法是一样的。即用户自定义的存储函数与mysql内部函数是一个性质的。
【例2】定义存储函数countproc2,然后调用这个函数,代码如下:
mysql> delimiter //mysql> create function countproc2 (sid int)    -> returns int    -> begin    -> return (select count(*) from fruits where s_id = sid);    -> end//query ok, 0 rows affected (0.06 sec)mysql> delimiter ;
调用存储函数:
mysql> delimiter ;mysql> select countproc2(101);+-----------------+| countproc2(101) |+-----------------+|               3 |+-----------------+1 row in set (0.05 sec)
可以看到,该例与上一个例子中返回的结果相同,虽然存储函数和存储过程的定义稍有不同,但可以实现相同的功能。
更多相关免费学习推荐:mysql教程(视频)
以上就是详解mysql调用存储过程和函数(案例)的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录