как получить вывод хранимой процедуры с входными и выходными параметрами pl / sql - PullRequest
0 голосов
/ 21 сентября 2019

Я создал хранимую процедуру ..., в которой процедура получения employee_name, salary и его manager_name .. была создана успешно, но когда я выполняю, выдавая ошибку недопустимого параметра .. как мне выполнить эту процедуру ...

create or replace procedure  employee_manager (
  dept_id in number,
  fname out varchar2,
  v_sal out number,
  fname1 out varchar2
)
is
begin
  select a.first_name manager_name,
         b.first_name employee_name,
         b.salary
  into fname,
       fname1,
       v_sal
  from employees a join employees b on a.employee_id = b.manager_id
  where a.department_id = dept_id;
end employee_manager ;

1 Ответ

1 голос
/ 21 сентября 2019

Если бы помогло, если бы вы показали нам, что именно произошло, когда вызвали процедуру, или - по крайней мере - опубликовали код ошибки ORA-xxxxx.С информацией, которая у нас есть, мы можем только догадываться.

Я думаю, вы ошибочно назвали ее.Поскольку он принимает один параметр IN и три параметра OUT, вам придется объявить три переменные;как то так:

declare
  l_fname   employees.first_name%type;
  l_sal     employees.salary%type;
  l_fname1  employees.first_name%type;
begin
  employee_manager(dept_id     => 10,
                   fname       => l_fname,
                   v_sal       => l_sal,
                   fname1      => l_fname1);

  dbms_output.put_line('Values returned are: ' || l_fname ||', '|| l_sal ||', '|| l_fname1);
end;
/
...