次の手順を検討してください。
CREATE PROCEDURE `getFoo`()
BEGIN
select 'bar' as foo;
END;
編集するとcall
、次のように出力されます。
{"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
変更できません。norSELECT
を含まないステートメントの結果を出力します。variables
parameters
私が試したこと
残念ながら、すべてエラーが出力されます。
set @foo = exec getFoo();
set @foo = call getFoo();
select getFoo() into @foo;
call getFoo() into @foo;