Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: ORA-04091 Table is mutating, trigger/function may not see it
This is a common problem, you can not update another row or reselect from
the table inside a ROW level trigger, because the state of the cursor is
transient. If you need to perform mass updates in triggers or reselect the
table, use an AFTER STATEMENT trigger. To work out what rows were hit by the
row level trigger, create a PL/SQL table and put the primary keys in it for
processing in the after statement trigger.
Both MS/SQL and Sybase allow the re-accessing of the table, because they do
not provide the standard read consistent mechanism Oracle does.
Regards
David Russell
Received on Sat May 02 1998 - 16:51:45 CDT
![]() |
![]() |