declare cursor mycur(para,type,……) 
is
select ……

解决方案 »

  1.   

    declare cursor mycur(para type,……) 
    is
    select ……
    没有逗号
      

  2.   

    declare 
    cursor mycur is
    select dname from dept
    where deptno=dno;
    dno   number;
    name varchar2(15);
    begin 
    dno:=10;
    open mycur;
    loop
         fetch mycur into name;
         exit when mycur%notfound;end loop;
    close mycur;
    end;
      

  3.   

    declare 
    cursor mycur(dno number) is
    select dname from dept
    where deptno=dno;
    name varchar2(15);
    begin 
     ............
    end;
      

  4.   

    这是一个带参数的游标啊,你没有给他提供参数,当然错误了,像yxxx(小孬) ( ) 那样或者baojianjun(包子) ( ) 那样都可以传递参数过去。
    如:cursor mycur(dno deptno%type) is select dname from dept where deptno=dno;
    name varchar2(15);
    begin 
    open mycur;
    fetch mycur into name;
    end;
    这样就可以了。
      

  5.   

    对了,忘记关闭游标了。
    fetch mycur into name;
    close mycur;
    end;
      

  6.   

    再改:
    ----------
    begin 
    open mycur(20); -- 这里要传参数啊
    fetch mycur into name;
    close mycur;
    end;
      

  7.   

    SQL*PLUS>DECLARE
      2  cursor mycur(dno VARCHAR2) is select NAME from test where NAME=dno;
      3  v_name varchar2(15);
      4  begin 
      5  open mycur(10);
      6  fetch mycur into v_name;
      7  end;
      8  /PL/SQL 过程已成功完成。已用时间:  00: 00: 00.00
    SQL*PLUS>