First, you should do this in "before" trigger. Second, you don't need "update" statement in the trigger (just do an "assignment"). create or replace trigger my_trig before update of a on tab for each row begin :new.b = current_timestamp; end; / And third, read some oracle docs. Igor -----Original Message----- From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Simone Saravalli Sent: Friday, May 05, 2006 8:42 AM To: oracle-l Subject: Fwd: updating problems ---------- Forwarded message ---------- From: Simone Saravalli <s.saravalli@xxxxxxxxx> Date: 5-mag-2006 14.40 Subject: Re: updating problems To: Ghassan Salem <salem.ghassan@xxxxxxxxx> 2006/5/5, Ghassan Salem <salem.ghassan@xxxxxxxxx>: > Simone, > Can you post the code of your trigger? Yes, this is an example of the table I want to update: create table tab ( a number not null, b date default current_timestamp ); and then the trigger create or replace trigger my_trig after update of a on tab for each row begin update tab set b = current_timestamp where a=:new.a; end; / Now I've written: create or replace trigger my_trig after update of a on tab for each row begin update tab set :new.b = current_timestamp where a = :new.a; end; / but the trigger gets some compilation errors. Is it correct? Thanks, Simone Saravalli -- //www.freelists.org/webpage/oracle-l -- //www.freelists.org/webpage/oracle-l