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

55次阅读
没有评论

共计 1447 个字符,预计需要花费 4 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章主要介绍了 MySQL 调用存储过程和函数的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。

存储过程和函数有多种调用方法。存储过程必须使用 call 语句调用,并且存储过程和数据库相关,如果要执行其他数据库中的存储过程,需要指定数据库名称。例如 call dbname.procname。存储函数的调用与 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)

可以看到,该例与上一个例子中返回的结果相同,虽然存储函数和存储过程的定义稍有不同,但可以实现相同的功能。

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“MySQL 调用存储过程和函数的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1447字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)