@alef pires de oliveira
Realmente não vai funcionar da forma como foi implementando. Só para você entender o que está acontecendo.
PRAGMA AUTONOMOUS_TRANSACTION abre uma sessão em paralelo a sessão original, ou seja, são sessões diferentes, desta forma a sessão da TRIGGER só vai “ver” as modificações feitas pela sessão original após o COMMIT.
Tente da seguinte forma:
CREATE OR REPLACE TRIGGER DB_SIG.TAI_FASE
after
INSERT
ON DB_SIG.TBL_FASE
FOR EACH ROW
BEGIN
--for v_fase in cur_fase loop
IF :new.LO_ULTIMA_FASE = 'N' THEN
:new.LO_ULTIMA_FASE := 'S';
END IF;
-- end loop;
END;
/
Só um detalhe, a solução correta é modificar o INSERT passando o valor correto. Esse tipo de implementação via TRIGGER pode gerar muita confusão.