Výjimka "tabulka mutuje" je vyvolána, když se spouštěč, který je definován jako FOR EACH ROW, pokusí o přístup k tabulce, pro kterou byl aktivován. Tom Kyte napsal skvělého průvodce příčinami a řešením této výjimky zde .
Ve vašem zveřejněném příkladu nemáte PRO KAŽDÝ ŘÁDEK, a tak bych neočekával, že bude vznesena výjimka. Obvykle stačí použít spouštěče FOR EACH ROW v případech, kdy je nutné získat přístup k hodnotám :OLD nebo :NEW každého řádku, což nejste.