Zuerst müssen Sie sich über Trigger, mutating table error und zusammengesetzte Trigger informieren:http://docs.oracle.com/cd/E11882_01/appdev.112/e25519/triggers.htm#LNPLS2005
Ihr Trigger ist AFTER UPDATE OR INSERT OR DELETE. Das heißt, wenn Sie UPDATE-, INSERT- oder DELETE-Anweisungen für diese Tabelle ausführen, wird der Trigger ausgelöst. Aber Sie versuchen, dieselbe Tabelle in Ihrem Trigger erneut zu aktualisieren, was kompl ist. falsch. Aus diesem Grund erhalten Sie den Fehler. Sie können nicht dieselbe Tabelle ändern, auf die der Trigger ausgelöst wird. Der Zweck des Triggers besteht darin, automatisch auszulösen, wenn die Tabelle in Ihrem Fall aktualisiert, eingefügt oder gelöscht wird. Was Sie brauchen, ist eine Prozedur, kein Trigger.