create or replace procedure p1 (name out varchar2) as
cursor mycur(dno number) is
select dname from dept
where DEPTNO=dno;
begin 
open mycur(20);
fetch mycur into name;
close mycur;
end p1;要返回参数不能用匿名过程。

解决方案 »

  1.   

    set serverout on
    declare name varchar2(15);
    begin
    p1(name);
    dbms_output.put_line(name);
    end;按如上方法调用即可
      

  2.   

    怎么显示?
    dbms_output.put_line不行?
      

  3.   

    set serverout ondeclare 
      name varchar2(15);
      cursor mycur(dno number) is
    select dname from dept where DEPTNO=dno;
    begin 
      open mycur(20);  fetch mycur into name;
      if mycur%FOUND then
          dbms_output.put_line('name = ' || name);
      else
          dbms_output.put_line('没有从游标中提取到数据');
      end if;  close mycur;end;
      

  4.   

    set serveroutput on然后才可以用
    dbms_output.put_line()