Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Trigger error - mutating table
I am trying to construct a very simple trigger AFTER INSERT of a parent
record, to populate the child record's FK field.....
On INSERT to FACILITIES, the application first generates a random surrogate
PK in the REGISTRY table, then returns that value to act as the
FACILITIES.PK value as well. All good.
So, the trigger takes that PK value from FACILITIES, and kicks it back to
the REGISTRY record's FK to FACILITIES. This has to happen AFTER INSERT,
since the REGISTRY record is formally a child of the FACILITIES record.
Hence:
CREATE TRIGGER.....
AFTER INSERT ON F_FACILITIES
BEGIN
INSERT INTO REGISTRY (FKEY_FACILITIES)
VALUES (:NEW.PKEY)
WHERE REGISTRY.PKEY = :NEW.PKEY;
END;
The error message states "f_facilities is mutating, the trigger may not see
it..."
I cannot find a discussion of mutating tables (or even a definition) in any
on-line ORACLE books, O'Reilly press books, or Oracle press books that I
have. Any ideas?
Thanks!
-Veeb
Received on Thu Aug 13 1998 - 19:58:53 CDT
![]() |
![]() |