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
Why we use joins in sql?
What does pl sql stand for?
Where is all the data on the internet stored?
What is sql*loader?
how do you know the version of your mysql server? : Sql dba
What is an index in sql with example?
What are the benefits of pl/sql packages?
How do you use a while loop in pl sql?
What is oracle pl sql developer?
What is sql basics?
Is sql easier than java?
what are the difference between clustered and a non-clustered index? : Sql dba
What information is needed to connect sql*plus an oracle server?
Enlist the advantages of sql.
What is microsoft t sql?