트리거 생성시 ORA-24344 success with compilation error 발생하는데요? 0 3 8,025

by 궁금한넘 [PL/SQL] trigger 트리거 ora-24344 copile [2018.05.25 16:41:47]


다음과 같이 트리거를 생성하려고 하는데 ORA-24344  success with compilation error 발생하네요..

딱히 구문오류 같지는 않은데요.. 혹시나 몰라 유저에 대한 권한문제인 거 같아 함수호출부분을 주석처리해서 컴파일을 해봐도

동일하게 나타나는데요...  어느 부분을 확인해 봐야 할런지요?

답변 부탁드립니다.

 

CREATE or REPLACE TRIGGER 접수_퇴원심사요청_TR AFTER UPDATE  OF 환자진행코드 ON 접수 FOR EACH ROW 
declare
    s전송대상여부    VARCHAR2(1) ;
    s과코드      VARCHAR2(10);
    s병실         VARCHAR2(10);
    s병록번호    VARCHAR2(10);
    s종류         VARCHAR2(14);
    
BEGIN
    s전송대상여부 := 'N' ;

    -- 변경작성 시
    IF UPDATING THEN
        IF '1' = NVL(:OLD.입외구분, '0') THEN
          IF 'B' != NVL(:OLD.환자진행코드, '0') THEN
            IF 'B' = NVL(:NEW.환자진행코드, '0') THEN
                  s전송대상여부 := 'Y';
                  s과코드 := :OLD.과코드;
                  s병실 := :OLD.병실;
                  s병록번호 := :OLD.병록번호;
                  s종류 := '퇴원심사';
            END IF 
            ;
          END IF
          ;
        END IF
        ;
    END IF 
    ;
   
    
    IF 'Y' = s전송대상여부 THEN
        SMS.퇴원심사요청문자(s과코드, s병실, s병록번호, s종류);
    END IF
    ;
EXCEPTION
    WHEN OTHERS THEN NULL; 
END;
/

by 마농 [2018.05.25 16:54:05]
-- 딱히 눈에 띄는 에러는 안보이네요.
-- 에러 메시지를 상세하게 확인해 보세요.
SELECT * FROM user_errors;

 


by 마농 [2018.05.25 16:56:15]

에러와는 별개로
간단한 내용인데도 불구하고 불필요하게 장황하게 작성되었네요.
간단하게 바꿔봤습니다.
 

CREATE OR REPLACE TRIGGER 접수_퇴원심사요청_TR
AFTER UPDATE OF 환자진행코드
ON 접수
FOR EACH ROW
WHEN ( '1' = OLD.입외구분 AND 'B' = NEW.환자진행코드 )
BEGIN
    SMS.퇴원심사요청문자(:OLD.과코드, :OLD.병실, :OLD.병록번호, '퇴원심사');
EXCEPTION
    WHEN OTHERS THEN
        NULL;
END;
/

 

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