'--Begin PL/SQL package CREATE OR REPLACE PACKAGE getrecordset AS TYPE tempno is TABLE of NUMBER(4) INDEX BY BINARY_INTEGER; TYPE tename is TABLE of VARCHAR2(10) INDEX BY BINARY_INTEGER; TYPE tjob is TABLE of VARCHAR2(9) INDEX BY BINARY_INTEGER; PROCEDURE getallemp (empno OUT tempno, ename OUT tename, job OUT tjob); PROCEDURE getoneemp (oneempno IN NUMBER, empno OUT tempno,ename OUT tename, job OUT tjob); END retcursor; / CREATE OR REPLACE PACKAGE BODY getrecordset AS PROCEDURE getallemp(empno OUT tempno, ename OUT tename, job OUT tjob) IS CURSOR emp_cur IS SELECT empno, ename, job FROM emp; empcount NUMBER DEFAULT 1; BEGIN FOR emprecord IN emp_cur LOOP empno(empcount) := emprecord.empno; ename(empcount) := emprecord.ename; job(empcount) := emprecord.job; empcount := empcount + 1; END LOOP; END; PROCEDURE getoneemp(oneempno IN NUMBER, empno OUT tempno, ename OUT tename, job OUT tjob) IS CURSOR emp_cur IS SELECT empno, ename, job FROM emp WHERE empno = oneempno; empcount NUMBER DEFAULT 1; BEGIN FOR emprecord IN emp_cur LOOP empno(empcount) := emprecord.empno; ename(empcount) := emprecord.ename; job(empcount) := emprecord.job; empcount := empcount + 1; END LOOP; END; END; / --End PL/SQL