你的存储过程都没有out型变量啊?create or replace procedure Operator_Authentication 
(
v_Operator_no  in   varchar2,
v_PWD          in   varchar2,
n_Purview      out  number,
v_Jsp          out  varchar2,
v_catv        out  varchar2)
is
v_1   number(2);
v_2   varchar2(4000);
v_3   varchar2(4000);
n_count number(2);
v_temp  varchar2(4000);
cursor c_Jsp is 
select rtrim(ltrim(Jsp_ename)) 
from operatorright a,RoleRight b,PartJsp c
where c.Atom_ID = b.Atom_ID
and b.atomrole_ID = a.atomrole_ID 
and a.Operator_no = v_Operator_no;Begin
v_1 := -2;       
v_2 := ';';
v_3 := '?';
select count(WORKSTATION_NO) into n_count 
from   operatorinfo
where  OPERATOR_NO = v_Operator_no
       and PWD = v_PWD;
 

if n_count = 0 then
v_1 := -1;
else

select  nvl(c.catvstation_no,'?'),nvl(d.OPERATOR_LEVEL,-3) into v_3,v_1
from  workstationinfo a,catvstationinfo b,operationinfo c,operatorinfo d
where  a.operation_no = c.operation_no
        and c.catvstation_no = b.catvstation_no
        and d.WORKSTATION_NO = a.workstation_no 
and d.OPERATOR_NO = v_Operator_no
and d.pwd = v_pwd;



open c_Jsp;
loop

exit when c_Jsp%NOTFOUND;
fetch c_Jsp into v_temp;
v_2 := v_2||v_temp||';';

end loop;
close c_Jsp;



end if;

n_Purview   := v_1; 
select replace(v_2,' ','') into v_Jsp from dual;
-- v_Jsp       := v_2;
v_catv     := v_3;
exception
     when others then
     null;
end Operator_Authentication ;