pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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



view thread (5+ messages)  latest in thread

Message-ID: <20060828145737.GA5004@winnie.fuhr.org>
Permalink:  ../20060828145737.GA5004@winnie.fuhr.org/
Also on:    postgresql.org/message-id/20060828145737.GA5004@winnie.fuhr.org

 · 

reply

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