오라클 트리거 관련 질문입니다.
CREATE OR REPLACE TRIGGER TRIGGER1
AFTER INSERT OR UPDATE OF BUFFER1 ON TESTTABLE
FOR EACH ROW
WHEN (old.BUFFER1 ='N')
BEGIN
UPDATE TESTTABLE set BUFFER1='' where BUFFER1='N';
END;
TESTTABLE에 UPDATE 또는 INSERT 시 BUFFER값이 'N'일때 ' '값으로 바꿔서 UPDATE,INSERT 시키고 싶은데
트리거 컴파일시에는 에러가 없는데 INSERT 테스트시
ORA-04091: table myora.tesettable is mutating, trigger/function may not see it
ORA-06512: at "myora.trigger1", line 3
ORA-04088: error during execution of trigger 'myora.trigger1'
에러가 발생합니다 ㅜㅜ
old new 개념도 읽어봐도 이해가 잘 안되어서 어려운 작업은 아닌거같은데 벌써 3일째 막혀있네요..
고수분들의 조언부탁드립니다.
|