| From: | Michael Fuhr <mike(at)fuhr(dot)org> | 
|---|---|
| To: | Henry Ortega <juandelacruz(at)gmail(dot)com> | 
| Cc: | pgsql-sql(at)postgresql(dot)org | 
| Subject: | Re: Trigger on Insert to Update only newly inserted fields? | 
| Date: | 2006-08-28 14:57:38 | 
| Message-ID: | 20060828145737.GA5004@winnie.fuhr.org | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | 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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Henry Ortega | 2006-08-28 15:53:36 | Re: Trigger on Insert to Update only newly inserted fields? | 
| Previous Message | Sumeet | 2006-08-28 14:29:20 | Temporary Views or tables |