I tried the scenario on my 188.8.131.52 test database (64-bit linux) as an ordinary user and got the same result - trigger did not insert anything into table TAUD. But then I ran the plustrace.sql script (as sys) and granted PLUSTRACE to public. I quit and restarted sql*plus and enabled autotrace. This should not make any difference at all of course, but when I did the insert into t again, the trigger *did* fire and a row appeared in TAUD. It continues to fire, even when I set autotrace off and revoke PLUSTRACE... perhaps a furphy, but intreguing nevertheless.
Again, this goes against all logic of course.. Cheers, Tony Michael Dinh wrote:
Has anyone experience this?Thanks for any assistance.Test Case:drop table t purge; drop table taud purge; create table t(id int); create table taud(tn varchar2(30)); create unique index tx on taud(tn);create or replace trigger biud$t BEFORE UPDATE OR INSERT OR DELETE on t begin insert into taud values ('t'); exception when dup_val_on_index then -- this table name was already inserted, ok null; end; /insert into t values (1); commit; select * from t; select * from taud;