当前位置:Gxlcms > 数据库问题 > oracle遍历游标

oracle遍历游标

时间:2021-07-01 10:21:17 帮助过:3人阅读

v_tname varchar2(20); cursor c_tname is select a.TABLE_NAME from user_tables a where a.TABLESPACE_NAME = VTMDATA; begin open c_tname; fetch c_tname into v_tname; while c_tname%found loop dbms_output.put_line(v_tname); fetch c_tname into v_tname; --此处必须fetch否则就一直取第一个造成死循环 end loop; close c_tname; --要手动关闭游标否则不能再次使用 end;

2,for循环

declare
  cursor c_tname is select a.TABLE_NAME from user_tables a where a.TABLESPACE_NAME = VTMDATA;
begin  
  for tname in c_tname
  loop
      dbms_output.put_line(tname.table_name);  --通过"." 操作符去对应的列
  end loop;                                    --循环完成之后自动关闭游标,无需手动关闭
exception
  when others then
    dbms_output.put_line(sqlcode);
    dbms_output.put_line(sqlerrm);
end;

oracle遍历游标

标签:

人气教程排行