트리거 컴파일 및 종속성 정보

정의된 스키마 객체에 따라 컴파일되는 트리거가 달라집니다. 트리거가 종속된 객체가 삭제 또는 변경되어 트리거와 객체 간에 불일치가 발생하면 트리거가 무효화됩니다.

CREATE TRIGGER 문을 실행하면 생성되는 트리거가 컴파일됩니다. 이 컴파일로 인해 오류가 발생하는 경우 CREATE TRIGGER 문이 실패합니다. 컴파일 오류를 확인하려면 다음 명령문을 사용합니다.

SELECT * FROM USER_ERRORS WHERE TYPE = 'TRIGGER';

정의된 스키마 객체에 따라 컴파일되는 트리거가 달라집니다. 예를 들어, NEW_EVALUATION_TRIGGER는 EVALUATIONS 테이블에 종속됩니다.

CREATE OR REPLACE
TRIGGER NEW_EVALUATION_TRIGGER
BEFORE INSERT ON EVALUATIONS
FOR EACH ROW
BEGIN
  :NEW.evaluation_id := evaluations_seq.NEXTVAL;
END;

트리거가 종속된 스키마 객체를 보려면 다음 명령문을 사용합니다.

SELECT * FROM ALL_DEPENDENCIES WHERE TYPE = 'TRIGGER';

트리거가 종속된 객체가 삭제 또는 변경되어 트리거와 객체 간에 불일치가 발생하면 트리거가 무효화됩니다. 다음에 트리거를 호출할 때 트리거가 재컴파일됩니다. 트리거를 즉시 재컴파일하려면 다음 예제와 같이 COMPILE 절과 함께 ALTER TRIGGER 문을 사용합니다.

ALTER TRIGGER NEW_EVALUATION_TRIGGER COMPILE;

참조: 트리거 컴파일 및 종속성에 대한 자세한 내용은 Oracle Database PL/SQL Language Reference를 참조하십시오.