not set

[PLS-00103]프로시져 실행시 에러 본문

Database/pl-sql

[PLS-00103]프로시져 실행시 에러

다크곰 2012. 9. 25. 15:37


프로시져를 PL-SQL 툴(오렌지,토드 등의 디자이너에서도) 아래와 같은 에러가 날때가 있다.

분명 파라미터 갯수도 맞고 타입도 잘 맞는데 자꾸 end-of-file 을 만났다며 실행 자체가 안될경우에는


프로시져 실행시 주석을 없애자


아래와 같은 짜증나는 에러 메시지가 계속 나온다.


2012/09/25 15:29:47 >

ORA-06550: 줄 7, 열10:PLS-00103: 심볼 "SP_XXXXXXXXXXXXXXXXXXXXXXX"를 만났습니다 다음 중 하나가 기대될 때:

   := . ( @ % ; immediate

심볼이 ":=" 계속하기 위하여 " SP_XXXXXXXXXXXXXXXXXXXXXXX "로 치환되었습니다

ORA-06550: 줄 16, 열3:PLS-00103: 심볼 "end-of-file"를 만났습니다 다음 중 하나가 기대될 때:

   ; <식별자> <큰 따옴표로 구분된 식별자>

심볼이 ";" 계속하기 위하여 "end-of-file"로 치환되었습니다




예1) 프로시져 실행 실패의 예

------------------------------------------------------------------------------------------------------------------------

DECLARE


    R_RESULT VARCHAR2(2000);


BEGIN


    XXXX. SP_XXXXXXXXXXXXXXXXXXXXXXX ( 'HABV0' -- XXXXX

                                  , '1' -- XXXXX

                                  , '0107' -- XXXX

                                  , 150000000 -- XXXX

                                  , 'C'

                                  , 0

                                  , 'T505592'

                                  , R_RESULT

                                  );

END;


------------------------------------------------------------------------------------------------------------------------




예2) 프로시져 실행 성공예

------------------------------------------------------------------------------------------------------------------------

DECLARE


    R_RESULT VARCHAR2(2000);


BEGIN


    XXXX. SP_XXXXXXXXXXXXXXXXXXXXXXX ( 'HABV0'

                                  , '1'

                                  , '0107'

                                  , 150000000

                                  , 'C'

                                  , 0

                                  , 'T505592'

                                  , R_RESULT

                                  );

END;


------------------------------------------------------------------------------------------------------------------------



예1 과 같은 실수가 반복 되는 이유가. 아마도 위의 예제는 간단한 프로시져 이지만

파라미터가 무수히 많은 프로시져 같은경우 오른편에 주석을 달아서 알아보기 쉽게 할려다 보니 나오는 에러다.

차라리 주석을 달꺼면 위에다 달자. 프로시져 작성시 알아보기 쉽다고 오른편에 작성하면 나처럼 낭패를 본다.


오늘의 교훈

주석은 필요한 경우에만....

'Database > pl-sql' 카테고리의 다른 글

pl/sql syntax 정리  (0) 2011.01.18
금액에 콤마찍어서 반환하는 펑션  (0) 2010.07.23