Re: Trigger for modification timestamp column

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Susan Cassidy <scassidy(at)stbernard(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: Trigger for modification timestamp column
Date: 2010-07-07 16:59:16
Message-ID: AANLkTimnltMrDt6qjTiP01iKC-9dYyk14J9w9TVypQCT@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

2010/7/7 Susan Cassidy <scassidy(at)stbernard(dot)com>:
> Can't you check it using something like this:
>
> IF OLD.modified = NEW.modified THEN
>  NEW.modified = NOW();
> END IF;
> RETURN NEW;

but this take only case where column modified was changed. There are
not a functionality for detection if user explicitly updated column or
not

Pavel

>
> Susan
> -----Original Message-----
> From: pgsql-general-owner(at)postgresql(dot)org [mailto:pgsql-general-owner(at)postgresql(dot)org] On Behalf Of Johan Andersson
> Sent: Wednesday, July 07, 2010 6:49 AM
> To: pgsql-general(at)postgresql(dot)org
> Subject: [GENERAL] Trigger for modification timestamp column
>
>
> Hello!
>
> I am trying to write a trigger for updating a modification column and am
> having some trouble getting it to behave as I want.
>
> The trigger should set the column to the supplied value if it is set in the
> UPDATE statement and to the current timestamp [NOW()] if it is not. The
> problem is that I don't know how to check if the column is set or not. I can
> check the column's value for NULL but that doesn't work if I want the column
> to accept NULL values (meaning "unmodified").
>
> I would like something like:
> CREATE FUNCTION update_modified()
>    RETURNS TRIGGER AS $$
>        BEGIN
>            IF NOT isset(NEW.modified) THEN
>                NEW.modified = NOW();
>            END IF;
>            RETURN NEW;
>        END;
>    $$ LANGUAGE 'plpgsql';
>
> Does anyone know how to do this?
>
> Thanks in advance!
>
> / Johan
> --
> View this message in context: http://old.nabble.com/Trigger-for-modification-timestamp-column-tp29096359p29096359.html
> Sent from the PostgreSQL - general mailing list archive at Nabble.com.
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>
> --
> Sent via pgsql-general mailing list (pgsql-general(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Igor Neyman 2010-07-07 17:16:49 Re: Problems with Vista and Windows 7
Previous Message Susan Cassidy 2010-07-07 16:43:36 Re: Trigger for modification timestamp column