PLS-00103: Encountered the symbol "." when expecting one of the folllowing 0 5 3,175

by stevekim [PL/SQL] PLS-00103 [2021.10.15 10:34:51]


초보자입니다. 머리에 쥐가 나네요. 에라 날곳이 없어보이는데 ㅠㅠ 찾지를 못하겠네요.

고수님의 도움 부탁드리겠습니다.

=========================================================

 

CREATE OR REPLACE FUNCTION WKHSC.fn_chk_reg_fg
    (p_yy     in WKHSC.dung005.yy%TYPE
    ,p_shtm   in VARCHAR2
    ,p_std_no in VARCHAR2)

RETURN varchar2 
IS
 
    v_RESULT  VARCHAR2 := 'N'; 
    v_sum     NUMBER   :=  0;
    
BEGIN

    SELECT  sum(ENTRANCe+TUITION+ SUPPORT)
    into    v_sum
    FROM    WKHSC.DUNG005 
    where   1=1
    and     yy         = p_yy
    and     shtm     = p_shtm
    and     std_no     = p_std_no;

    if v_sum > 0 then 
        v_RESULT := 'Y';
    end if;

    return(v_result);


EXCEPTION
  WHEN OTHERS THEN
     NULL;
     
END WKHSC.fn_chk_reg_fg;

by 마농 [2021.10.15 11:02:52]

변수 선언 오류
- 오류 : v_RESULT  VARCHAR2 := 'N';
- 수정 : v_RESULT  VARCHAR2(1) := 'N';


by stevekim [2021.10.15 13:05:34]

답변주셔서 감사합니다.
그런데 안되네요 ㅠㅠ


by 마농 [2021.10.15 13:26:32]

- 오류 : END WKHSC.fn_chk_reg_fg;  -- 사용자명. 사용 오류
- 수정1 : END fn_chk_reg_fg;  -- 명칭만 사용
- 수정2 : END;  -- 생략 가능(추천)
패키지 내에서 여러 펑션을 사용할 경우에는
펑션이 끝나는 곳에 펑션명을 사용하면 구분이 되어 좋지만
단일 펑션의 경우 굳이 적어줄 필요가 없음.


by stevekim [2021.10.15 13:30:14]

아!
너무너무 감사합니다.
자주 신세 좀 지겠습니다.


by 마농 [2021.10.15 13:35:16]

펑션을 생성하는 계정과 소유하는 계정이 다른 경우가 아니라면?
굳이 사용자명을 일일이 적어 줄 필요가 없습니다.
계정명. 부분 다 빼는게 오히려 보기 편합니다. 위와 같은 실수도 줄이구요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입