动态游标
语法
type 动态游标类型名 is ref cursor; ---- 声明一个动态游标类型,紫色填写一样内容
游标名 动态游标类型; ---- 声明一个动态游标类型的变量,这个变量就是动态游标类型的,也就是动态游标
open 游标名 for SQL语句; ---- 打开游标,并且把SQL语句和游标关联起来
close 游标名;
遍历tablesp表
--创建过程
create or replace procedure proc_select
is
sql_select varchar(400);
sql_row tablesp%rowtype;
type cur_select is ref cursor; --声明一个动态游标类型,名字叫cur_select,因为游标不是类型所以要声明一个动态游标类型
curs cur_select; --声明一个动态游标变量,名字叫curs
begin
sql_select:='select * from tablesp'; -- 需要执行的SQL语句
open curs for sql_select; -- 打开游标,并且SQL执行结果存放到curs中
loop
fetch curs into sql_row; -- 把curs中的一条记录赋值为 sql_row
dbms_output.put_line(sql_row.tid||'-'||sql_row.tname||'-'||sql_row.tage);
exit when curs%notfound; -- 退出循环
end loop;
close curs;
end;