In Oracle, a mutating trigger is a trigger that modifies the data that fired it. This can lead to unexpected results and is generally considered to be bad practice. There are a few ways to avoid mutating triggers:
One way to avoid mutating triggers is to use immutable tables. An immutable table is a table that cannot be modified once it has been created. This means that any triggers that are fired on an immutable table cannot modify the data in the table.