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