我创建了存储过程...在其中成功创建了employee_name,salary和他的manager_name ..过程,但是当我执行时给出了无效参数错误..我该如何执行该过程... < / p>
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 ;
答案 0 :(得分:1)
如果您向我们展示了调用该过程时到底发生了什么,或者-至少-发布了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;
/