Re: Trigger Question - Mailing list pgsql-general

From Terry Lee Tucker
Subject Re: Trigger Question
Date
Msg-id 200703141135.45988.terry@leetuckert.net
Whole thread Raw
In response to Trigger Question  ("Jason Lee" <lee@iecokc.com>)
List pgsql-general
On Wednesday 14 March 2007 11:15, 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.  It appears that the action performed by my
> trigger is causing the trigger to fire.  How do I avoid that.  For the
> record, here's my function (modeled after a trigger that works on SQL
> Server.  I'm pretty much a noob with plpgsql :)
>
> declare begin
>     update unit_specification set date_changed = now() from
> unit_specification us where us.id = NEW.id;
>     RETURN NEW;
> end;
>
> 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();
>
> Thanks for the help. :)
>
> -----
> Jason Lee, SCJP
> Senior Software Engineer
> http://www.iec-okc.com <http://www.iec-okc.com/>

Your trigger needs to be a BEFORE UPDATE trigger and you simply set the value
of the field in the trigger as in: date_changed = current_date;
--
Terry Lee Tucker
Turbo's IT Manager
Turbo, division of Ozburn-Hessey Logistics
2251 Jesse Jewell Pkwy NE
Gainesville, GA 30501
Tel: (336) 372-6812  Fax: (336) 372-6812  Cell: (336) 404-6987
terry@turbocorp.com
www.turbocorp.com

pgsql-general by date:

Previous
From: Hannes Dorbath
Date:
Subject: Re: Statement logging
Next
From: "Jason Lee"
Date:
Subject: Re: Trigger Question