oracle动态游标

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         布尔型        游标已经打开时值为真,否则为假

原文地址:https://www.cnblogs.com/blfshiye/p/5155156.html