CREATE OR REPLACE PACKAGE SCOTT.PACKAGE_ORG_P100_COMMON AS
TYPE EMP_STRUCT_LIST IS REF CURSOR;
TYPE EMP_STRUCT_TYPE AS OBJECT
(
EMPNO NUMBER(5),
ENAME VARCHAR2(20),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2)
);
TYPE EMP_STRUCT_LIST AS TABLE OF EMP_STRUCT_TYPE;
/* EMP를 가져오는 함수 */
FUNCTION GET_EMP_INFO_LIST(EMP_NO IN NUMBER)
RETURN EMP_STRUCT_LIST;
END;
CREATE OR REPLACE PACKAGE BODY
SCOTT.PACKAGE_ORG_P100_COMMON
AS
/* EMP를 가져오는 함수 */
FUNCTION GET_EMP_INFO_LIST(EMPNO IN NUMBER)
RETURN EMP_STRUCT_LIST
IS
V_EMPNO EMP.EMPNO%TYPE;
V_ENAME EMP.ENAME%TYPE;
V_JOB EMP.JOB%TYPE;
V_MGR EMP.MGR%TYPE;
V_HIREDATE EMP.HIREDATE%TYPE;
V_SAL EMP.SAL%TYPE;
V_COMM EMP.COMM%TYPE;
V_DEPTNO EMP.DEPTNO%TYPE;
EMP_LIST_DATA EMP_STRUCT_LIST := EMP_STRUCT_LIST();
CURSOR CUR_EMP IS
SELECT EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM,
DEPTNO
FROM EMP
WHERE EMPNO LIKE EMPNO||'%';
INDEX_COUNT INTEGER;
BEGIN
OPEN CUR_EMP;
INDEX_COUNT := 1;
LOOP
FETCH CUR_EMP INTO V_EMPNO,V_ENAME, V_JOB, V_MGR,
V_HIREDATE, V_SAL, V_COMM, V_DEPTNO;
EXIT WHEN CUR_EMP%NOTFOUND;
EMP_LIST_DATA.EXTEND;
EMP_LIST_DATA(INDEX_COUNT) :=
EMP_STRUCT_TYPE(V_EMPNO,V_ENAME,V_JOB,V_MGR,V_HIREDATE,V_SAL,V_COMM,V_DEPTNO);
INDEX_COUNT := INDEX_COUNT + 1;
END LOOP;
CLOSE CUR_EMP;
RETURN EMP_LIST_DATA;
END GET_EMP_INFO_LIST;
END PACKAGE_ORG_P100_COMMON;
컴파일시 에러가 발생합니다.
내용은
######################################
PACKAGE BODY created with compilation errors.
15/29 PLS-00103: 심볼 "TABLE"를 만났습니다 다음 중 하나가 기대될
때: object
opaque
######################################
꼭 좀 부탁드리겠습니다. 감사합니다.
오늘도 좋은하루 보내세요~~~
|