OS : WIN XP
ORACLE VER : 9i
강좌에 있는 다음의 프로시져를 생성 하려고 합니다.
CREATE OR REPLACE PROCEDURE Table_Test
(v_department_id IN employees.department_id%TYPE)
IS
TYPE empid_table IS TABLE OF employees.employee_id%TYPE
INDEX BY BINARY_INTEGER;
TYPE empname_table IS TABLE OF employees.first_name%TYPE
INDEX BY BINARY_INTEGER;
TYPE sal_table IS TABLE OF employees.salary%TYPE
INDEX BY BINARY_INTEGER;
empid_tab empid_table;
empname_tab emname_table;
sal_tab sal_table;
i BINARY_INTEGER:= 0;
BIGIN
DBMS_OUTPUT.ENABLE;
FOR emp_list IN (select employee_id, fist_name, salary from employees where department_id = v_department_id)
LOOP
i:= i+1
empid_tab(i):= emp_list.employee_id;
empname_tab(i):= emp_list.first_name;
sal_tab(i):= emp_list.salary;
END LOOP;
FOR cnt IN 1..i LOOP
DBMS_OUTPUT.PUT_LINE (’사원번호’|| empid_tab(cnt));
DBMS_OUTPUT.PUT_LINE (’사원이름’|| empname_tab(cnt));
DBMS_OUTPUT.PUT_LINE (’사원연봉’|| sal_tab(cnt));
END LOOP;
END;
프로시져를 생성을 하면 경고: 컴파일 오류와 함께 프로시져가 생성되었습니다 라는 메시지가 나타나고
프로시져를 실행을 하면
ORA-06550:줄 1, 열 7:PLS-00905: SYS.TABLE_TEST 오브젝트가 부당합니다
ORA-06550:줄 1.열7:PL/SQL: Statement ignored
에러가 발생합니다.
여러군데에서 알아보고 있는데 아직 해결책을 잡지 못해서 글을 올립니다.
해결책을 알려 주십시오.