L'eccezione "la tabella sta mutando" viene generata quando un trigger definito come FOR EACH ROW tenta di accedere alla tabella per cui è stata attivata. Tom Kyte ha scritto un'ottima guida alle cause e alla risoluzione di questa eccezione qui .
Nel tuo esempio pubblicato non hai PER OGNI RIGA e quindi non mi aspetto che venga sollevata l'eccezione. Solitamente è sufficiente utilizzare i trigger FOR EACH ROW nei casi in cui è necessario accedere ai valori :OLD o :NEW di ogni riga, cosa che non sei.