DECLARE
l_sql VARCHAR2(2000) := 'select deptno,loc 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;
A Simple Example of Weak Ref Cursor
原创mb61c186c579369 ©著作权
©著作权归作者所有:来自51CTO博客作者mb61c186c579369的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
A Simple Session Establishment Example
<br />Figure shows the SIP message exchange between two SIP-enabled devices. The two de
session header branch exchange audio -
PLSQL中显示Cursor、隐示Cursor、动态Ref Cursor区别
今天简单的总结一下PL/SQL中cursor(光标/游标)的用法。 相信不少做开发或维护的DBA在找工作的时候,遇到过类似的面视问题:请简单的描述一下光标的类型,说一下普通光标和REF光标之间的区别,以及什么时候该正确应用哪一个? 这个题目
职场 数据库 休闲 PLSQL中显示Cursor、隐示Cur Cursor区别