情况:有一个SQL程序通过“SELECT x”语句“返回”结果。由于某些原因,不允许将其更改为函数或以任何方式更改该过程。我如何获得如下结果:
set @result = 0;
@result = call SomeProcedure(@p1, @p2);
但是因为它是一个程序而不是代码上面的函数将无法编译/工作。我怎样才能在MySQL中实现这一点。在C ++中它可以工作,但在MySQL中我找不到......
答案 0 :(得分:0)
这是不可能的。
从select ...
返回的结果集将始终返回到第一个过程的调用者,即使您进行了多个子调用级别。
函数返回一个可以在其他过程或函数中使用的值(但不是结果集)。
您唯一的选择是设置会话变量或将结果存储在调用过程知道的临时表中。