MySQL调用存储过程和函数的示例分析

  介绍

这篇文章主要介绍了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调用存储过程和函数的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

MySQL调用存储过程和函数的示例分析