Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Mutation, Trigger/Funktion sieht es möglicherweise nicht - Fehler während der Ausführung des Triggers

Die Ausnahme „table is mutating“ wird ausgelöst, wenn ein Trigger, der als FOR EACH ROW definiert ist, versucht, auf die Tabelle zuzugreifen, für die er ausgelöst wurde. Tom Kyte hat einen großartigen Leitfaden zu den Ursachen und Lösungen dieser Ausnahme geschrieben hier .

In Ihrem geposteten Beispiel haben Sie nicht FOR EACH ROW und daher würde ich nicht erwarten, dass die Ausnahme ausgelöst wird. Normalerweise muss man FOR EACH ROW-Trigger nur dann verwenden, wenn es notwendig ist, auf die :OLD- oder :NEW-Werte jeder Zeile zuzugreifen, was Sie nicht sind.