考虑以下过程:
CREATE PROCEDURE `getFoo`()
BEGIN
select 'bar' as foo;
END;
一旦call
-ed,它会输出:
{"foo":"bar"}
但是如果在不同getFoo
的存储过程中调用,我如何将其结果内容捕获到变量中,像这样?
CREATE PROCEDURE `masterProc`()
BEGIN
call `getFoo`() into @foo;
select @foo as foo;
END;
调用时会输出以下错误: sqlMessage: "FUNCTION db.getFoo does not exist"
我知道涉及out
参数的可用选项,但这些不是我的问题的可行解决方案。
义务
getFoo
无法更改。它将输出SELECT
语句的结果,而不涉及任何variables
nor parameters
。
我试过的
不幸的是,所有都会输出错误。
set @foo = exec getFoo();
set @foo = call getFoo();
select getFoo() into @foo;
call getFoo() into @foo;