안녕하세요...
아래 소스를 컴파일 하면 에러는 없는데 실행 시키면 오라클 에러가 뜨네요..
이유가 무엇인지.. 감이 안잡히네요.. 많은 조언 부탁드립니다.
/*-------------------------------------------------
변수 선언
-------------------------------------------------*/
TYPE v_SRC_STR IS TABLE OF TAB_1.COL1%TYPE;
TYPE v_OBJ_STR IS TABLE OF TAB_1.COL2%TYPE;
TYPE v_VAR_NM IS TABLE OF TAB_2.COL1%TYPE;
TYPE v_VAR_VALUE IS TABLE OF TAB_2.COL2%TYPE;
SRC_STR v_SRC_STR;
OBJ_STR v_OBJ_STR;
VAR_NM v_VAR_NM;
VAR_VALUE v_VAR_VALUE;
i NUMBER(4) := 0;
j NUMBER(4) := 0;
/*-------------------------------------------------
변수 선언 (ZDQ_BATCH_RESULT)
-------------------------------------------------*/
v_ERR_CODE NUMBER; -- 오류_코드
v_ERR_MASSAGE VARCHAR2(100); -- 오류_내용
-- 소스 SELECT
CURSOR C1 IS
SELECT COL1
, COL2
FROM TAB_1
-- 변수명, 변수값 SELECT
CURSOR C2 IS
SELECT COL1
, COL2
FROM TAB_2;
BEGIN
FOR SRC_LIST IN C1 LOOP
DBMS_OUTPUT.PUT_LINE( 'SOURCE : ' || SUBSTR(SRC_LIST.COL1,1,12) );
DBMS_OUTPUT.PUT_LINE( 'OBJECT : ' || SUBSTR(SRC_LIST.COL2,1,12) );
i := i +1;
/*-------------------------------------------------
ORA-06531: 초기화되지 않은 모음을 참조합니다
ORA-06512: ???
-------------------------------------------------*/
SRC_STR(i) := SRC_LIST.FR_SQL_SEN;
OBJ_STR(i) := SRC_LIST.TO_SQL_SEN;
END LOOP;
FOR VAR_LIST IN C2 LOOP
DBMS_OUTPUT.PUT_LINE( '변수명 : ' || VAR_LIST.COL1 );
DBMS_OUTPUT.PUT_LINE( '변수값 : ' || VAR_LIST.COL2 );
j := j +1;
VAR_NM(j) := VAR_LIST.BATCH_VAR_NM;
VAR_VALUE(j) := VAR_LIST.BATCH_VAR_VALUE;
END LOOP;
END;