[Oracle] 오라클 ORA-04091 "테이블이 변경되어, 트리거/함수가 볼 수 없습니다" 오류 해결 방법 / "table is mutating, Trigger/Fuction may not see it"
·
DataBase/Oracle Error
원인ORA-04091 오류는 트리거가 참조하고 있는 테이블의 변경 사항이 확정되지 않은 상태에서 동일한 테이블을 다시 참조하려고 할 때, 데이터 일관성을 보장하기 위해 발생대부분 행 수준 트리거(Row-Level Trigger)에서 발생트리거에서 참조하는 테이블과 동일한 테이블을 DML(SELECT, UPDATE, DELETE, INSERT) 하여 접근하는 경우트리거가 직접 또는 간접적으로 다시 호출(재귀 호출)되어 동일한 테이블을 접근하는 경우위의 경우 변경된 내용을 다시 트리거가 참조하게 되어 무한 루프가 발생하기 때문에 오라클이 오류가 발생시킵니다. 해결 방법트리거를 문장 수준 트리거(Statement-Level Trigger)로 변경CREATE OR REPLACE TRIGGER STATEMENT_..