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@archonet.com]
> Sent: Wednesday, March 14, 2007 10:38 AM
> To: Jason Lee
> Cc: pgsql-general@postgresql.org
> 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
>