Strange DB Trigger behavior

  • From: "Mercadante, Thomas F (LABOR)" <Thomas.Mercadante@xxxxxxxxxxxxxxxxx>
  • To: "ORACLE-L" <oracle-l@xxxxxxxxxxxxx>
  • Date: Mon, 13 Jul 2009 13:54:06 -0400

All,

 

I am running a 10.2.0.2 database on Aix.

 

I have standard db triggers on tables that are not acting as I expect.
Please give me a sanity check:

 

create or replace trigger tran_data_biu

before insert or update

on tran_Data

for each row

 

begin

 

if updating then

   if :new.modify_date is null then

      :new.modify_date := sysdate;

   end if;

end if;

end;

 

I would expect that when a row is being updated and a modify_date was
not provided in the update statement, that the above trigger would fill
the column in with sysdate.  But this is not happening.  The only time
the above happens is when the column is null the first time.  After a
date exists, the "new" value is populated with the "old" value.

 

Does this make sense to you?  My memory might be slipping, but that is
what I would expect.


Thanks


Tom

 

Other related posts: