Search Postgresql Archives

Re: Trigger Question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxx
www.turbocorp.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux