知道一个动态游标(REF CURSOR), 不知道这个动态游标的结构(即无法用FETCH INTO 来操作), 请问如何循环操作此动态游标PROCEDURE aa
 IS
 THE_CURSOR COMMON.MY_CURSOR; ----在另一个包中定义, 不知道这游标的结构
 BEGIN   COMMON.GET_THE_DATA(THE_CURSOR); ---OUT 参数
   
   IF THE_CURSOR%isopen and THE_CURSOR%rowcount > 0 THEN
     ---如何在此循环操作游标THE_CURSOR
   END IF;
 END;

解决方案 »

  1.   


     declare
       THE_CURSOR COMMON.MY_CURSOR;
    begin
       COMMON.GET_THE_DATA(THE_CURSOR); 
       for TEMP_CURSOR in THE_CURSOR loop
         dbms_output.put_line(TEMP_CURSOR.empno); 
         exit when THE_CURSOR%notfound;
       end loop;
    end;
      

  2.   

    对了,2楼的exit when THE_CURSOR%notfound这句可以不用吧,因为for 本身就是循环了
    不像  loop   exit when .... end loop;这种方式