介绍
这篇文章主要介绍了MySQL调用存储过程和函数的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
存储过程和函数有多种调用方法。存储过程必须使用称呼语句调用,并且存储过程和数据库相关,如果要执行其他数据库中的存储过程,需要指定数据库名称,例如dbname打电话。procname。存储函数的调用与MySQL中预定义的函数的调用方式相同。
<强> 1,调用存储过程强>
存储过程是通过叫语句进行调用的,语法如下:
call sp_name([参数[…])
调用语句调用一个先前用创建程序创建的存储过程,其中sp_name为存储过程名称,参数为存储过程的参数。
【例1】定义名为CountProcl的存储过程,然后调用这个存储过程。
定义存储过程:
mysql>, delimiter //mysql>, create procedure CountProcl (sid 拷贝;int  out num int) ,,,→开始 ,,,,,select count (*), into num 得到fruits where s_id =, sid; ,,,,,最终获得//Query 好吧,,0,rows affected (0.06,秒)mysql>, delimiter ;
调用存储过程:
mysql>, call CountProcl (101年,@num); Query 好吧,,1,row affected (0.08, sec)
查看返回结果:
mysql>, select @num; +——+ |, @num | +——+ |,,,, 3, | +——+ 1, row set 拷贝(0.00,sec)
该存储过程返回了指定s_id=101的水果商提供的水果种类,返回值存储在num变量中,使用选择查看,返回结果为3 .
<强> 2,调用存储函数强>
在MySQL中,存储函数的使用方法与MySQL内部函数的使用方法是一样的。即用户自定义的存储函数与MySQL内部函数是一个性质的。
【例2】定义存储函数CountProc2,然后调用这个函数,代码如下:
mysql>, delimiter //mysql>, create function CountProc2 (sid int) ,,,→returns int ,,,→开始 ,,,,,return (select count(*),得到fruits where s_id =, sid); ,,,,,//Query 结束,好吧,,0,rows affected (0.06,秒)mysql>, delimiter ;
调用存储函数:
mysql>, delimiter ; mysql>, select CountProc2 (101); + - - - - - - - - - - - - - - - - - - + |, CountProc2 (101), | + - - - - - - - - - - - - - - - - - - + |,,,,,,,,,,,,,,, 3, | + - - - - - - - - - - - - - - - - - - + 1, row set 拷贝(0.05,sec)
可以看的到,该例与上一个例子中返回的结果相同,虽然存储函数和存储过程的定义稍有不同,但可以实现相同的功能。
感谢你能够认真阅读完这篇文章,希望小编分享的“MySQL调用存储过程和函数的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!