Answer Posted / purushottam
All the above suggested point is fine but addition on it is
when you are going to use the aggregate function for same
table then also be the mutating table error will occur.
example:
create table t(x numner);
/
create or replace trigger t_af_trigg
before insert into t
for each row
declare
n integer;
begin
select count(*) into n from t;
dbms_output.put_line('there are ' || n || ' rows in t');
end;
/
insert into t values(1);
error:
ORA-04091: table MISC.T is mutating, trigger/function may
not see it
ORA-06512: at "MISC.T_AF_TRIGG", line 5
ORA-04088: error during execution of trigger 'MISC.T_AF_TRIGG'
This example value addition of Vivek's suggession
"Mutating means that some one is trying to access the table
currently being held by some other non-committing
transaction(i.e. in Locked state)"
| Is This Answer Correct ? | 20 Yes | 9 No |
Post New Answer View All Answers
what is an extent ? : Sql dba
Does sql profiler affect performance?
Does sap use sql?
What are the key differences between SQL and PL SQL?
How do you pronounce sql?
How to display the records between two range in Oracle SQL Plus?
What does an inner join do?
How do you get column names only for a table (sql server)?
What is a sql profiler?
what is bcp? When does it used? : Sql dba
what are sequences
What is use of term?
How do temporal tables work?
What is query execution plan in sql?
Why do we use procedures in pl sql?