0
点赞
收藏
分享

微信扫一扫

SQLyog 如何运行存储过程?

1.情景展示

SQLyog 如何运行存储过程?_变量声明

我们可以看到,在SQLyog中,选中存储过程,没有运行存储过程的选项,那该如何执行存储过程?

2.具体分析

我们无法像在Navicat当中那样,直接运行:

SQLyog 如何运行存储过程?_存储过程_02

只能用最原始的调用存储过程的方法:call。

3.解决方案

关于存储过程的调用,这里,又可以分为3种情况:

情形一:只有入参,没有返回参数;

SQLyog 如何运行存储过程?_变量名_03

语法:

call 存储过程名称('参数值1','参数值2',...)

SQLyog 如何运行存储过程?_变量名_04

情形二:既有入参,又有出参;

SQLyog 如何运行存储过程?_变量声明_05

语法:

call 存储过程名称('参数值1','参数值2',...,'出参1','出参2',...);

出参使用@+变量名接收,变量可以使用同一个(充当占位符?,用于接收存储过程返回的数据)。

该存储过程有3个入参,14个出参;

查看代码

CALL pro_epidemic_statistics (
'2022-01-01',
'2022-02-18',
'410425105',
@result,
@result,
@result,
@result,
@result,
@result,
@result,
@result,
@result,
@result,
@result,
@result,
@result,
@result
)

SQLyog 如何运行存储过程?_变量名_06

说明:如果存储过程有出参的话,必须用@+变量名的方式进行接收。

即使,名称与返回列名保持一致也不行。

SQLyog 如何运行存储过程?_存储过程_07

另外的话,我们知道@+变量名的形式,是用户变量;

但是,不适用于上面这样接收存储过程返回值的情况,存储过程执行后,@result的值为null,而不是一个结果集。

SQLyog 如何运行存储过程?_存储过程_08

情形三:没有入参,也没出参。

没有遇到,应该是直接:call 存储过程名称()。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!


举报

相关推荐

0 条评论