Ask the Expert

Mutating table error with on delete cascade trigger

I have a grandparent table, a parent table and three child tables. Those tables have a delete cascade constraint defined on each level. I need to copy the parent and three child tables' data for that particular parent to another staging table (one for each table) if there is a delete on the parent table. No action is needed if the delete occurs in the grandparent table. How could I implement this through a trigger? I get a table mutating error.

    Requires Free Membership to View

First, see this site for several different mutating table error solutions.

Second, remember that in a trigger you cannot try to manipulate the table that "triggered the trigger". But, you have all the :old.column values available to you which contain the values prior to the delete action occurring. Your trigger should be using these values to populate your staging tables and NOT be trying to re-read the parent table to get any data.

For More Information


This was first published in January 2003

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to: