drop table t;

CREATE TABLE t
(
  dt  varchar2(10),
  x   int,
  y   varchar2(30)
)
PARTITION BY RANGE (dt)
(
  PARTITION part1 VALUES LESS THAN ( 'A' ),
  PARTITION junk VALUES LESS THAN (MAXVALUE)
)
/

create or replace procedure p
as
  c sys_refcursor;
  l_rec t%rowtype;
begin
	open c for 'select * from t explicit';
	fetch c into l_rec;
	close c;


	for x in ( select dt, x, y from t implicit ) loop null; end loop;
end;
/
pause
exec p
@trace
exec p 
exec p 
exec p 
exec p 
@tk "sys=no"

