A Simple Example of Weak Ref Cursor

本文介绍了一个使用PL/SQL编写的示例程序,该程序通过声明变量、游标和记录类型来从SCOTT模式下的DEPT表中批量收集特定部门的数据,并将结果存储在表格类型的变量中。此外,还展示了如何遍历这些数据并输出。

DECLARE l_sql VARCHAR2(2000) := 'select deptno,loc from scott.dept'; l_where VARCHAR2(200); TYPE dept_curtype IS REF CURSOR; dept_cur dept_curtype; TYPE dept_rec IS RECORD( deptno VARCHAR2(200) --attention the record element order ,loc VARCHAR2(200)); TYPE dept_tbl IS TABLE OF dept_rec; l_dept_tbl dept_tbl; BEGIN l_where := ' where deptno = :deptno'; l_sql := l_sql || l_where; OPEN dept_cur FOR l_sql USING 40 --USING is not necessary ; FETCH dept_cur BULK COLLECT INTO l_dept_tbl; CLOSE dept_cur; dbms_output.put_line('l_str_tbl.COUNT = ' || l_dept_tbl.COUNT); <<l_dept_tbl_loop>> FOR i IN 1 .. l_dept_tbl.COUNT LOOP dbms_output.put_line('l_str_tbl(' || i || ').deptno = ' || l_dept_tbl(i).deptno || ', l_str_tbl(' || i || ').loc = ' || l_dept_tbl(i).loc); END LOOP l_dept_tbl_loop; END;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值