create or replace package Package1 is cursor cl is select s.sample_id, p.mplate_id from XXXX.mwell w, XXXX.mplate p, XXXX.sample s where p.mplate_code=w.mplate_code and w.sample_code=s.sample_code; type TermsCur is ref cursor return cl%rowtype; vSql VARCHAR2(2000); vQueryHandle INTEGER; vErrorCode INTEGER; procedure Procedure1(PlateIDs_in IN VARCHAR2,Termset IN OUT TermsCur); end Package1; / create or replace package body Package1 is procedure Procedure1 (PlateIDs_in IN VARCHAR2, Termset IN OUT TermsCur) is begin open Termset for select s.sample_id, p.mplate_id from XXXX.mwell w, XXXX.mplate p, XXXX.sample s where p.mplate_id=PlateIDs_in and p.mplate_code=w.mplate_code and w.sample_code=s.sample_code; end Procedure1; end Package1; / SHOW ERRORS