Oracle
 sql >> Database >  >> RDS >> Oracle

ORA-04091:la tabella sta mutando, il trigger/la funzione potrebbe non visualizzare l'errore durante l'esecuzione del trigger di Oracle

Trigger non riesce a leggere la tabella (Select KPI_FREQ_TIME_UNIT FROM KPI_DEFINITION), che cambia... puoi accedere al valore in questo modo::new.KPI_FREQ_TIME_UNIT.Maggiori informazioni:http://www.dba-oracle.com/t_avoiding_mutating_table_error.htm

In altri casi puoi provare a farlo in transazione autonoma :

create or replace TRIGGER RATOR_MONITORING_CONFIGURATION."TRG_TRK_KPI_DEFINITION" 
AFTER UPDATE ON RATOR_MONITORING_CONFIGURATION.KPI_DEFINITION FOR EACH ROW
DECLARE
   PRAGMA AUTONOMOUS_TRANSACTION;
BEGIN
  -- ...
  COMMIT; -- don't forget it!!!
END;