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 are triggers and its uses?
what is a scheduled jobs or what is a scheduled tasks? : Sql dba
Mention what does the hierarchical profiler does?
How to find 3rd highest salary of an employee from the employee table in sql?
Can you selectively load only those records that you need? : aql loader
What are different clauses used in sql?
What is difference between sql and mysql?
Explain the the update statement in sql?
What is the best free sql database?
What is difference between db2 and sql?
What is loop in pl sql?
how to use myisamchk to check or repair myisam tables? : Sql dba
Why are sql stored procedures used?
In a distributed database system, can we execute two queries simultaneously?
How to prepare for oracle pl sql certification?