Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: trigger with ora-04091

Re: trigger with ora-04091

From: Marcelo <mcecci_at_yahoo.it>
Date: Thu, 23 Dec 2004 11:52:36 GMT
Message-ID: <8kyyd.325384$b5.15751329@news3.tin.it>

      Mutating Triggers

      Mutating Trigger Demo

      t_trigger causes an insert into changes this trigger causes an UPDATE on x which fires t_trigger which ... CREATE OR REPLACE TRIGGER t_mutating

      AFTER INSERT
      ON changes

      BEGIN
         UPDATE t2
         SET x = 3;

      END t_mutating;

/
Mutating Trigger Fix With Autonomous Transaction CREATE TABLE t1 (x int); CREATE TABLE t2 (x int); INSERT INTO t1 VALUES (1); SELECT * FROM t1; SELECT * FROM t2; CREATE OR REPLACE TRIGGER t_trigger AFTER INSERT ON t1 FOR EACH ROW DECLARE i PLS_INTEGER; BEGIN SELECT COUNT(*) INTO i FROM t1; INSERT INTO t2 VALUES (i); END;
/
INSERT INTO t1 VALUES (1); SELECT COUNT(*) FROM t1; SELECT COUNT(*) FROM t2; CREATE OR REPLACE TRIGGER t_trigger AFTER INSERT ON t1 FOR EACH ROW DECLARE PRAGMA AUTONOMOUS_TRANSACTION; i PLS_INTEGER; BEGIN SELECT COUNT(*) INTO i FROM t1; INSERT INTO t2 VALUES (i); COMMIT; END;
/
INSERT INTO t1 VALUES (1); SELECT COUNT(*) FROM t1; SELECT COUNT(*) FROM t1;
Received on Thu Dec 23 2004 - 05:52:36 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US