Re: Create a function that updates the record with and timestamps

From: Chris Barnes <compuguruchrisbarnes(at)hotmail(dot)com>
To: <andreas(dot)kretschmer(at)schollglas(dot)com>, Postgres General Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: Create a function that updates the record with and timestamps
Date: 2010-03-22 17:55:36
Message-ID: BLU149-W7BCF514441147035FB9A8D4270@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


I see examples for updating tables using a function, but I would like to pull the row requested and modify the last_modified column with current_date and push the modified data back into the same row.

I did see an example of how to use old and new at this at this link, but it is vague.

http://www.faqs.org/docs/ppbook/x20655.htm#TRIGGERFUNCTIONVARIABLES

From: compuguruchrisbarnes(at)hotmail(dot)com
To: pgsql-general(at)postgresql(dot)org
Subject: [GENERAL] Create a function that updates the record with and timestamps
Date: Mon, 22 Mar 2010 12:58:49 -0400

I would like to have postgres update the last_modified column with the current_date on an update of the record.

I am not sure if there is a very simple way of doing this?

Or, do I need to create a function and a trigger to call the row and update with new data and set the last_modified to current_date?

Here is the table.

CREATE TABLE price.price_table (
PRICE_DATE DATE,
ID VARCHAR(13),
OPENING NUMERIC(18,6),
CLOSING NUMERIC(18,6),
HIGHEST NUMERIC(18,6),
LOWEST NUMERIC(18,6),
VOLUME BIGINT,
LAST_MODIFIED TIMESTAMP(6) WITHOUT TIME ZONE DEFAULT current_date,
CONSTRAINT PK_PRICE PRIMARY KEY (PRICE_DATE,ID));

Any help would be appreciated.

Cheers,

Chris

> Date: Mon, 22 Mar 2010 18:14:00 +0100
> From: andreas(dot)kretschmer(at)schollglas(dot)com
> To: pgsql-general(at)postgresql(dot)org
> Subject: Re: [GENERAL] Create a function that updates the record with and timestamps
>
> In response to Chris Barnes :
> > I would like to have postgres update the last_modified column with the
> > current_date on an update of the record.
> >
> > I am not sure if there is a very simple way of doing this?
> >
> > Or, do I need to create a function and a trigger to call the row and update
> > with new data and set the last_modified to current_date?
>
> Yes, that's the way, a TRIGGER on UPDATE for each row. I think, the doc
> contains an example.
>
>
> Andreas
> --
> Andreas Kretschmer
> Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
> GnuPG: 0x31720C99, 1006 CCB4 A326 1D42 6431 2EB0 389D 1DC2 3172 0C99
>
> --
> 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

_________________________________________________________________
IM on the go with Messenger on your phone
http://go.microsoft.com/?linkid=9712960

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Miguel Angel Hernandez Moreno 2010-03-22 19:31:53 Re: recuperar nodo en estado 3
Previous Message Tom Lane 2010-03-22 17:45:20 Re: Postgresql error from interface