游标代码 declare 
      cursor mycursor is 
      select * from scott.emp where sal>800;//我想问一下这一句 我放个变量这里可以吗?
                                                                     有没有办法解决一下 放个变量
      cursorrecord mycursor%rowtype;
   begin
     open mycursor;
     loop
     fetch mycursor into cursorrecord;
     if mycursor%notfound then
     exit;
     end if;
     dbms_output.put_line(cursorrecord.ename);
     
     end loop;
     close mycursor;
    end;

解决方案 »

  1.   

    不是800 是整个 sql语句 
    select * from scott.emp where sal>800;
     带参的游标 怎么定义啊
      

  2.   

    你想把游标的select部分全部放进一个变量?那需要用ref cursor。
    然后open r_cur for var(即select子句存放的变量)
      

  3.   

    不懂 麻烦你帮我改下上面的那个例子好吗?
     改成 你说要用到 的 refcursor
      

  4.   

    declare 
          mycursor SYS_REFCURSOR; 
          cursorrecord scott.emp%rowtype; 
      BEGIN    open mycursor FOR select * from scott.emp where sal>800; 
        LOOP
           EXIT WHEN mycursor%NOTFOUND;
           fetch mycursor into cursorrecord; 
     
        dbms_output.put_line(cursorrecord.ename);     end loop; 
        end;