From: Michael Fuhr <mike@fuhr.org>
To: Henry Ortega <juandelacruz@gmail.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Trigger on Insert to Update only newly inserted fields?
Date: Mon, 28 Aug 2006 08:57:38 -0600
Message-ID: <20060828145737.GA5004@winnie.fuhr.org> (raw)
In-Reply-To: <2bffcc330608280702y16c25090i816589e20163e7e8@mail.gmail.com>
References: <2bffcc330608280702y16c25090i816589e20163e7e8@mail.gmail.com>
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: mike@fuhr.org, juandelacruz@gmail.com
Subject: Re: Trigger on Insert to Update only newly inserted fields?
In-Reply-To: <20060828145737.GA5004@winnie.fuhr.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox