how instead of triger is helpful for mutating tables errors
handlling ?
Answers were Sorted based on User's Feedback
Answer / 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 |
Answer / mahesh
create a view (simple view) on mutating table
write a tigger on view (define similar to table)
Know try to do dml operations on table
it will not show the mutating error
Is This Answer Correct ? | 2 Yes | 2 No |
What is auto increment feature in sql?
What are analytical functions in sql?
What is lexical units in pl sql?
what is mean by forward declaration and where we'll use it.
What is rtm stands for?
What is snowflake sql?
what is union, minus and interact commands? : Sql dba
How to create a menu in sqlplus or pl/sql?
I have a small PL/SQL Block assume in this way begin select * from emp where empno=100; exception when others then <Some Messages> when no_data_found then <Some Messages> when too_many_rows then <Some Messages> end; The question which he asked was whether this block will get executed normally or it will throw error ? If errored out then what is the reason for the error ? Could anybody please help me ? Regards Nakul Venkataraman
What is pl sql quora?
How do you write a subquery?
What is pl sql block structure?