TRIGGER 생성시 에러가 나네요...ㅠㅠ 0 2 2,803

by 손님 TRIGGER 트리거 [2011.09.06 11:01:06]



CREATE OR REPLACE TRIGGER AAA.TEST_AFT_TRG
AFTER INSERT OR UPDATE
OF   AAA_CD
 ,BBB_CD
 ,BBB_NM
  ,CCC_CD
ON   AAA.EMP
REFERENCING NEW AS N OLD AS O
FOR EACH ROW
BEGIN
    IF(INSERTING) OR (UPDATING) THEN
    CALL AAA.PRCD_SAL(:N.AAA_CD, :N.BBB_CD)
    END IF
END TEST_AFT_TRG

뭐가 잘못 됐는지 알수가 없네요...

고수님들 부탁 드립니다...
by 마농 [2011.09.06 11:34:15]
문법 에러가 많네요.

1. 문장이 끝나는 곳엔 항상 세미콜론이 있어야 합니다.
AAA.PRCD_SAL(:N.AAA_CD, :N.BBB_CD);
END IF;
END TEST_AFT_TRG;

2. 프로시져는 그냥 호출하면 됩니다.
Call 은 pl/sql 에서 사용하는게 아닙니다.

여기까지는 문법 에러이구요.
혹시 프로시져 내부에서 트리거 테이블을 참조하는 구문이 있다면
이는 문법에러와는 별개로 논리적 오류로 컴파일때는 문제 없고 실행시 에러납니다.

by 마농 [2011.09.06 11:34:58]
아 그리고 무작정 에러난다고 질문하지 마시고.
에러 메시지를 꼼꼼히 확인하세요. 그속에 답이 있습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입