안녕하세요. 초보 DBA입니다. 오라클에서 트리거 문의 드립니다.
스키마 3개가 있습니다. A,B, 그리고 C
A계정에서 데이터가 생성되면 C로 보내는 트리거를 생성하였습니다.
그리고 똑같이 B에서 C로 보내는 트리거를 생성 하였습니다만 아래와 같이 에러가 납니다.
23 79 PL/SQL: ORA-00904: : invalid identifier <--12번째 줄(38)의 ')' 에 해당합니다.
46 79 PL/SQL: ORA-00904: : invalid identifier <--19번째 줄(45)의 ')' 에 해당합니다.
트리거는 완전히 똑같고 스키마만 A에서 B로 수정 하였습니다. (A스키마에선 에러 없으나 B에서만 에러납니다.)
제가 판단하기로는 모든 것이 다 똑같습니다.
어느 부분을 찾아 봐야 할가요? 혹은 다른 어떠한 환경적인 부분을 찾아야 할가요?
CREATE OR REPLACE TRIGGER B.abc
AFTER DELETE OR INSERT OR UPDATE
ON B.aaa
FOR EACH ROW
DECLARE
BEGIN
IF DELETING
THEN
INSERT INTO C.bbb
(a,b,c
)
VALUES (:old.aa,:old.bb,:old.cc
);
ELSIF INSERTING
THEN
INSERT INTO C.bbb
(a,b,c
)
VALUES (:new.aa,:new.bb,:new.cc
);
END IF;
END abc;
/