Mutating table error in trigger

How can I write a trigger in Oracle 8? I keep getting a mutating table error. I need to use a SQL query on the...

table for which I'm writting this trigger.

You can write a trigger which queries the table that forced the trigger to fire. So that part is not a problem. You get a Mutating table error when you attempt to modify the table that caused the trigger to fire. What happens is a change (insert/update/delete) occurs on that table. So a trigger gets fired. In that trigger, you perform a change on that table. The trigger will want to fire again. But the system detects that the change is caused by the trigger itself, not something else. This is called a mutating table error. So don't modify the table in the table's trigger and you won't see this error.

For More Information

  • What do you think about this answer? E-mail the editors at editor@searchDatabase.com with your feedback.
  • The Best Oracle Web Links: tips, tutorials, scripts, and more.
  • Have an Oracle or SQL tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
  • Ask your technical Oracle and SQL questions -- or help out your peers by answering them -- in our live discussion forums.
  • Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, object-oriented and data warehousing gurus are waiting to answer your toughest questions.

This was last published in April 2002

Dig Deeper on Oracle database design and architecture



Find more PRO+ content and other member only offers, here.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.



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: