MySQL の関数からプロシージャを呼び出すことは可能ですか? 「関数から結果セットを返すことは許可されていません」というエラーが表示されます。関数内で直接 SELECT INTO を実行した場合と同じように、プロシージャ呼び出しの結果を関数変数に挿入したいと考えています。
関数は(簡略化して)次のように定義されます。
create function my_function()
returns int deterministic
begin
declare some_parameter int;
declare the_result int;
call my_procedure(some_parameter, the_result)
return the_result;
end;
手順は (簡略化して) 次のように定義されます。
create procedure my_procedure(in my_parameter int, out my_result int)
begin
select 1
from dual;
end;