2013-07-19 9 views
1

오류는 찾을 수 없지만 오류와 함께 컴파일됩니다. 누구나 내가 맹인을 보았는가?PLS-00103 : 심볼 "end-of-file"컴파일 오류가 발생했습니다.

CREATE OR REPLACE FUNCTION myusername.fun_hr_format_phone (tmp in VARCHAR2) RETURN VARCHAR2 
IS tmpVar VARCHAR2(12); 

BEGIN 

    SELECT DECODE(
    LENGTH(tmp), 
    10, SUBSTR(tmp,1,3) || '-' || SUBSTR(tmp,4,3) || '-' || SUBSTR(tmp,7,4), 
    7, SUBSTR(tmp,1,3) || '-' || SUBSTR(tmp,4,4), tmp 
) INTO tmpVar FROM dual; 

    RETURN tmpVar; 

    EXCEPTION 
    WHEN NO_DATA_FOUND THEN NULL; 
    WHEN OTHERS THEN RAISE; 

END; 
/
+0

@ user2599766 : 코드가 완벽하게 보이며 사용중인 도구가 무엇입니까? [SQLFIDDLE] (http://www.sqlfiddle.com/#!4/d1b14) –

+0

'show errors'를 입력하여 구문 오류를 표시하고 게시물에 오류를 포함하십시오. 당신의'when others raise then' 절은 무의미하며 제거되어야하지만 컴파일 오류를 일으키지 않습니다. –

+0

TOAD에서 작업 오류는 다음과 같습니다 PLS-00103 :가 발생했습니다 기호 "파일 끝"다음 중 하나를 기대하는 경우 : 기능 패키지 프라그 절차의 하위 유형을 사용 <식별자><이중 시작을 인용 부호로 구분 된 식별자> 양식 현재 커서 – lrjurgen

답변

0

SQL * Plus를 사용하는 경우 : 빈 줄을주의하여 코드가 구문 적으로 완전히 수정됩니다.

+0

나는 TOAD에서 작업 중입니다 – lrjurgen

+0

SQL * Plus는 PL/SQL을 고려하지 않습니다. 그리고 set sqlblanklines 명령을 사용하여 SQL에 신경을 쓰는지 여부를 토글합니다. –

+0

감사합니다. 고마워요. – Emmanuel