oracle动态游标

时间:2023-03-08 19:11:37

declare

  v_col1 varchar2(254);

  v_col2 varchar2(254);

  v_sql  varchar2(1024);





  type my_cursor is ref cursor;

  v_cur my_cursor;

begin

  v_sql := 'select :1,:2 from dual where 1 = :3';

  open v_cur for v_sql

    using 'col1', 'col2', 1;

  loop

    fetch v_cur

      into v_col1, v_col2;

    exit when v_cur%notfound;

  

    dbms_output.put_line(v_col1 || '  ' || v_col2);

  

  end loop;

  close v_cur;

end;

显式Cursor的属性包括:

游标的属性    
 返回值类型    意义
%ROWCOUNT    
  整型   
      获得FETCH语句返回的数据行数
%FOUND       
  布尔型     
  近期的FETCH语句返回一行数据则为真。否则为假
%NOTFOUND    
  布尔型     
  与%FOUND属性返回值相反
%ISOPEN         布尔型  
     游标已经打开时值为真,否则为假