测试目的:Open Curosor时,是否就是执行cursor声明.
create table test_tab (col1 varchar2(20))
declare
x_out varchar2(100);
x_out1 varchar2(100);
cursor cur_col1
is
select col1 from test_tab;
cursor cur_col11
is
select col1 from test_tab;
begin
open cur_col1;
open cur_col11; ----Remark1
loop
fetch cur_col1 into x_out ;
exit when cur_col1%notfound;
dbms_output.put_line('Cursor1 Col1:'||x_out||';');
end loop;
close cur_col1;
insert into test_tab(col1) values('20');
dbms_output.put_line('----------------------');
/* open cur_col11;*/ ---Remark2
loop
fetch cur_col11 into x_out1;
exit when cur_col11%notfound;
dbms_output.put_line('Cursor2 Col1:'||x_out1||';');
end loop;
close cur_col11;
end;
结果:当open cursor时就执行cursor的声明