PLSQL PLS-00103 오류
CREATE PACKAGE LADDER_GAME IS
PROCEDURE START_GAME(CNT_PEOPLE NUMBER);
END LADDER_GAME;
/
CREATE PACKAGE BODY LADDER_GAME IS
PROCEDURE START_GAME(CNT_PEOPLE NUMBER) IS
BEGIN
SHOW_MESSAGE(RANDOM_VALUE(CNT_PEOPLE));
END;
FUNCTION RANDOM_VALUE(SEED_VALUE NUMBER) RETURN NUMBER IS
BEGIN
DBMS_RANDOM.SEED(VAL => TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS');
RETURN DBMS_RANDOM.VALUE (LOW => 1, HIGH => SEED_VALUE);
END;
PROCEDURE SHOW_MESSAGE(RESULT_NUMBER NUMBER)
BEGIN
DBMS_OUTPUT.PUT_LINE('PrizeWinner Number is '||TO_CHAR(RESULT_NUMBER)||' !!!');
END;
END LADDER_GAME;
/
==========================================================
위 내용을 스크립트로 만들어서 오라클에서 실행을 했을때
ERROR가 발생해서
SQL> SHOW ERR
로 확인해보니
9 / 67 PLS-00103 에러가 발생하였다.
이게 구문에러인데 괄호나 기호가 잘못 들어갔을 경우 나온다.
문제는 67이라는 숫자인데 저게 9번째줄 67번째 자리에서 에러가 발생하였다는 출력물이다.
그러나 내 코드는 67번째 자리는 커녕 한 줄에 50자리도 안되는 코드로 작성하였다.
문제는 RANDOM_VALUE 펑션 부분인데 저 부분중에 반환값에 문법이 잘못되어 출력된건데 저 반환값까지 받아들여서 ERROR의 자리수를 출력한다.
혹시나 이와같은 ERROR 만났는데 컬럼의 위치가 쓸데없이 길 경우 반환값도 의심해 보도록 한다.