代码段接收并遍历返回值为动态游标的方法
2016-06-02 19:14
459 查看
通过方法返回动态游标
plsql代码段接收游标并遍历游标
方法二 使用record遍历游标
plsql代码段接收游标并遍历游标
1.通过方法返回动态游标
create or replace function F_A return sys_refcursor is my_cuusor sys_refcursor; BEGIN OPEN my_cuusor FOR SELECT '1' TBN,2 CNT FROM DUAL UNION SELECT '3' TBN,4 CNT FROM DUAL; return my_cuusor; end;
2.plsql代码段接收游标并遍历游标
方法一 定义多个变量来遍历游标的多列DECLARE bCursor sys_refcursor; cchar varchar2(20); cint number(5); begin bCursor:= F_A(); --SELECT F_A() into bCursor FROM DUAL;这条SQL可以直接查看游标内容 --open bCursor;注意这个地方不能使用open,否则报错,原因是F_A方法中已经打开过了 --close bCursor; loop fetch bCursor into cchar,cint; exit when bCursor%notfound; dbms_output.put_line(cchar); end loop; close bCursor; end;
方法二 使用record遍历游标
DECLARE bCursor sys_refcursor; cchar varchar2(20); cint number(5); type mt is record( dchar varchar2(20), dint number(5) ); vmt mt; begin bCursor:= F_A(); --SELECT F_A() into bCursor FROM DUAL; --open bCursor; --close bCursor; loop fetch bCursor into vmt; exit when bCursor%notfound; dbms_output.put_line(vmt.dchar); end loop; close bCursor; end;
record与table的区别
ORACLE中RECORD、VARRAY、TABLE的使用详解(转)相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- Ruby基础知识之方法、代码段
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页