-1

次の手順を検討してください。

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を含まないステートメントの結果を出力します。variablesparameters

私が試したこと

残念ながら、すべてエラーが出力されます。

set @foo = exec getFoo(); set @foo = call getFoo(); select getFoo() into @foo; call getFoo() into @foo;

4

2 に答える 2