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 存储过程名称()。
本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/15908997.html