Re: Trigger on Insert to Update only newly inserted fields? - Mailing list pgsql-sql

From Michael Fuhr
Subject Re: Trigger on Insert to Update only newly inserted fields?
Date
Msg-id 20060828145737.GA5004@winnie.fuhr.org
Whole thread Raw
In response to Trigger on Insert to Update only newly inserted fields?  ("Henry Ortega" <juandelacruz@gmail.com>)
Responses Re: Trigger on Insert to Update only newly inserted fields?  ("Henry Ortega" <juandelacruz@gmail.com>)
List pgsql-sql
On Mon, Aug 28, 2006 at 10:02:32AM -0400, Henry Ortega wrote:
> I have a On Insert Trigger that updates one of the columns in that same
> table.
>
> Is there a way for the trigger to run only for the newly inserted records?
> Instead of all records in the database?

Row-level INSERT and UPDATE triggers run only for the rows being
inserted or updated.  What are you doing that suggests otherwise?

> E.g.:
> ID      Start_Date     End_Date
> 001   08-01-2006
> 002   08-02-2006
> 
> On Insert/Update, Update End_Date=now().
> I want that to run only on new records.or the updated
> record. How can I do this?

Row-level BEFORE triggers can modify the row they're processing --
is that what you're looking for?  Something like this?

CREATE FUNCTION trigfunc() RETURNS trigger AS $$
BEGIN   NEW.end_date := current_date;   RETURN NEW;
END;
$$ LANGUAGE plpgsql;

If that's not what you mean then please elaborate.

-- 
Michael Fuhr


pgsql-sql by date:

Previous
From: Sumeet
Date:
Subject: Temporary Views or tables
Next
From: "Henry Ortega"
Date:
Subject: Re: Trigger on Insert to Update only newly inserted fields?