how instead of triger is helpful for mutating tables errors
handlling ?
Answer Posted / guru
"Mutating" means "changing". A mutating table is a table
that is currently being modified by an update, delete, or
insert
statement. When a trigger tries to reference a table that is
in state of flux (being changed), it is considered
"mutating" and
raises an error since Oracle should not return data that has
not yet reached its final state.
Another way this error can occur is if the trigger has
statements to change the primary, foreign or unique key
columns of the
table off which it fires. If you must have triggers on
tables that have referential constraints, the workaround is
to enforce the
referential integrity through triggers as well.
There are several restrictions in Oracle regarding triggers:
• A row-level trigger cannot query or modify a
mutating table. (Of course, NEW and OLD still can be
accessed by the
trigger) .
• A statement-level trigger cannot query or modify a
mutating table if the trigger is fired as the result of a
CASCADE delete.
So some time we can not use triggers to put DMl operations
on table. that time we can use INSTEAD OF TRIGGER.
| Is This Answer Correct ? | 7 Yes | 0 No |
Post New Answer View All Answers
what is self-join? : Sql dba
How do I restart sql?
Explain unique key in sql.
Why do we go for stored procedures?
How does pl sql work?
How to Execute a Package in PL/SQL.?
how are mysql timestamps seen to a user? : Sql dba
what tools available for managing mysql server? : Sql dba
What are functions in sql?
What are primary key and foreign key and how they work?
Compare sql & pl/sql
How many types of triggers exist in pl/sql?
1) Synonyms 2) Co-related Subquery 3) Different Jobs in Plsql 4) Explain Plan 5) Wrap 6) Query Optimization Technique 7) Bulk Collect 8) Types of index 9) IF primary key is created then the index created ? 10) Foreign Key 11) Exception Handling 12) Difference Between Delete and Trunc 13) Procedure Overloading 14) Grant Revoke 15) Procedure Argument types. 16) Functions. 17) Joins
What is full join in sql?
Why trigger is used in sql?