OPEN FOR语句
--专门处理返回多行的动态select语句
--语法:
OPEN cursor_variable FOR dynamic_SQL_string
[USING bind_argument1 , bind_argument2 , ...] --其中,cursor_variable是一种REF CURSOR类型的游标*变量*,
--dynamic_SQL_string:是包含多行查询的字符串
--示例1:11236测试
declare
--声明ref cursor类型
type student_cur_type is ref cursor;
--声明游标变量。此时,游标变量未指向任何查询的结果集
student_cur student_cur_type;
v_zip VARCHAR2(5) :='&sv_zip';
v_first_name VARCHAR2(25);
v_last_name VARCHAR2(25);
begin
--打开游标变量,让它指向一个动态select的结果集
open student_cur for 'select first_name,last_name '||
' from student where zip= :zip'
using v_zip;
--游标检索
loop
fetch student_cur into v_first_name,v_last_name;
exit when student_cur%notfound;
dbms_output.put_line(v_first_name||' '||v_last_name);
end loop;
--关闭游标
close student_cur;
end;