Мутация происходит каждый раз, когда у вас есть триггер уровня строки, который модифицирует таблицу, по которой вы запускаете. Проблема в том, что Oracle не может знать, как себя вести. Вы вставляете строку, сам триггер вставляет строку в ту же самую таблицу , и Oracle запутывается, потому что эти вставки в таблицу из-за триггера тоже подвергаются действию триггера? *
Решение состоит из трех этапов.
1.) Уровень оператора перед триггером, который создает пакет, который будет отслеживать вставляемые строки.
2.) Уровень строки до или после триггера, который сохраняет информацию о строке в переменных пакета, которые были созданы на предыдущем шаге.
3.) Уровень оператора после триггера, который вставляет в таблицу все строки, которые сохраняются в переменной пакета.
Пример этого можно найти здесь:
http://asktom.oracle.com/pls/asktom/ASKTOM.download_file?p_file=6551198119097816936
Надеюсь, это поможет.