SQLyog 如何运行存储过程?

1.情景展示

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

2.具体分析

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

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

3.解决方案

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

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

语法:

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

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

语法:

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
)

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

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

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

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

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

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

写在最后

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

 相关推荐:

posted @ 2022-02-18 15:46  Marydon  阅读(1316)  评论(0编辑  收藏  举报