Hola,
Prueba algo asi:
CREATE OR REPLACE PROCEDURE LeerTabla (Param1 number, MiCursor OUT sys_refcursor) is
rec Mitabla%ROWTYPE;
Begin
Open MiCursor for
Select * From MiTabla
where Campo1 = Param1;
loop
fetch MiCursor into rec;
exit when MiCursor%notfound;
dbms_output.put_line(rec.Campo1);
end loop;
End LeerTabla;
/
set serveroutput on
DECLARE
cX SYS_REFCURSOR;
BEGIN
OPEN cX FOR SELECT * from MiTabla;
LeerTabla(3, cX);
close cX;
END;
/
http://www.java2s.com/Tutorial/Oracle/0500__Cursor/AnexampleofusingSYSREFCURSORforcursorvariableproce ssing.htm
http://www.adp-gmbh.ch/ora/sql/sys_refcursor.html
espero te sea útil
.