1

私は解決策を見つけようとしていますが、いつも何かが間違っています。だから私の問題は何ですか:

私は機能を持っています:

function fun1 (
p_param1 number) return sys_refcursor
is 
  c_result sys_refcursor;
begin
  open c_result for select e.username, c.contract_id from employees e 
    join contracts c on c.employee_id = e.employee_id;
  return c_result;
end fun1;

ストアド プロシージャ内でこの関数を使用したい:

procedure proc1 (...) 
is ...
cur_contract sys_refcursor;
begin
...
  open cur_contract for fun1(p_param1);
  loop
    fetch cur_contract into v_username, v_contract_id;
    exit when cur_contract%notfound;
    ...
  end loop;
  close cur_contract;
...
end proc1;

そして、「open cur_contract for fun1(p_param1);」という行の式が間違ったタイプであるというエラーが表示されます。

手順を機能させるには何を変更すればよいですか?

4

1 に答える 1