Search code examples
oracleplsqltriggersmutating-table

Clashing triggers - mutating table


I have a problem with a mutating table in Oracle. I have two tables, Customer and Person. I must update ChangeDate in Customer during modification of a Person row, so I created a trigger. Unfortunately there is a trigger on Customer which updates Person in some cases and that is causing a mutating table problem. Fortunately I don't have to update Customer.ChangeDate when updating Person if this change was caused by a Customer change.

So here is my question: how can I recognize that the Person trigger was fired by the Customer trigger?


Solution

  • Finally I'm used global temporary table with clearing after commit:

    CREATE GLOBAL TEMPORARY TABLE my_temp_table (
      column1  NUMBER,
      column2  NUMBER
    ) ON COMMIT DELETE ROWS;