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 msql? : Sql dba
What is function and procedure?
How to fetch alternate records from a table?
How do I delete a trigger?
Why is theta join required?
What is data types in sql?
How do I edit a stored procedure?
How do I view stored procedures?
What is embedded sql in db2?
Why is pl sql needed?
what are the different type of normalization? : Sql dba
Is ms sql traffic encrypted?
What is anonymous block in sql?
What is sql*plus?
Does sql between include endpoints?