2

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;
4

1 に答える 1

1

本質的には、違います。関数は、レコード(プロシージャから返されるもの)ではなく、データ型を探しています。

于 2012-08-07T17:07:14.667 に答える