refcursor variable
SQL> SQL> create table t as select * from all_users; Table created. SQL> SQL> variable x refcursor SQL> SQL> begin 2 open :x for select * from t; 3 end; 4 / PL/SQL procedure successfully completed. SQL> SQL> delete from t; 27 rows deleted. SQL> SQL> commit; Commit complete. SQL> SQL> print x USERNAME USER_ID CREATED ------------------------------ ---------- --------- SYS 0 07-FEB-06 SYSTEM 5 07-FEB-06 OUTLN 11 07-FEB-06 DIP 18 07-FEB-06 TSMSYS 20 07-FEB-06 INV15 42 17-OCT-09 DBSNMP 23 07-FEB-06 INV10 37 17-OCT-09 CTXSYS 25 07-FEB-06 XDB 27 07-FEB-06 ANONYMOUS 28 07-FEB-06 MDSYS 32 07-FEB-06 HR 33 07-FEB-06 FLOWS_FILES 34 07-FEB-06 FLOWS_020100 35 07-FEB-06 JAVA2S 36 15-OCT-09 INV11 38 17-OCT-09 INV12 39 17-OCT-09 INV13 40 17-OCT-09 INV14 41 17-OCT-09 PLSQL 57 19-OCT-09 INV16 43 17-OCT-09 INV17 44 17-OCT-09 INV18 45 17-OCT-09 INV19 46 17-OCT-09 INV20 47 17-OCT-09 DEFINER 48 17-OCT-09 27 rows selected. SQL> SQL> drop table t; Table dropped.