Thanks! That did the trick. I had tried that logic in the function, but I had always used an AFTER trigger, so it didn't work. Thanks, again. You've saved my sanity. :) ----- Jason Lee, SCJP Senior Software Engineer http://www.iec-okc.com > -----Original Message----- > From: Richard Huxton [mailto:dev@xxxxxxxxxxxx] > Sent: Wednesday, March 14, 2007 10:38 AM > To: Jason Lee > Cc: pgsql-general@xxxxxxxxxxxxxx > Subject: Re: [GENERAL] Trigger Question > > Jason Lee wrote: > > I'm trying to write a trigger that updates a date_changed > field on a > > record anytime that record is updated. I have a function > written, and > > the trigger created, but everytime I update the record, I get a > > recursion limit error. > [snip] > > declare begin > > update unit_specification set date_changed = now() from > > unit_specification us where us.id = NEW.id; > > RETURN NEW; > > end; > > Here, just do > NEW.date_changed = now(); > RETURN NEW; > > > With the trigger created with > > > > CREATE TRIGGER update_changed_ts AFTER INSERT OR UPDATE > > ON unit_specification FOR EACH ROW > > EXECUTE PROCEDURE public.update_unit_spec_changed_date(); > > Make this BEFORE insert or update. > > -- > Richard Huxton > Archonet Ltd >