Re: PLPGSQL

From: Sean Davis <sdavis2(at)mail(dot)nih(dot)gov>
To: Shaun Clements <ShaunC(at)relyant(dot)co(dot)za>
Cc: "'pgsql-general(at)postgresql(dot)org'" <pgsql-general(at)postgresql(dot)org>
Subject: Re: PLPGSQL
Date: 2005-03-23 13:32:37
Message-ID: 1ab1ef1d7ebff80f0b683bb9f33ea259@mail.nih.gov
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


On Mar 23, 2005, at 7:56 AM, Shaun Clements wrote:

> Is there no way in pgplsql
> to call on a dynamic column.
> I need to be able to dynamically determine the latest month column
> within a dataset, and to get that columns data.
> I am unfamiliar with other languages within Postgres
>
> Kind Regards,
> Shaun Clements
>

You can get all the column names for a table called 'testtable' using:

select a.attname
from
pg_attribute a,
pg_class c
where
a.attrelid=c.oid and
a.attnum>0 and
c.relname='testtable';

You can then decide what column to use based on whatever logic you
like. You will then need to construct the SQL statement using ||
(concatenate) and execute it using EXECUTE.

http://www.postgresql.org/docs/current/static/plpgsql-
statements.html#PLPGSQL-STATEMENTS-EXECUTING-DYN

Does this help? Another simpler way to do this would be a different
table structure where you put the month in a column by itself rather
than a different column for each month.

Sean

In response to

  • PLPGSQL at 2005-03-23 12:56:38 from Shaun Clements

Browse pgsql-general by date

  From Date Subject
Next Message Michael Fuhr 2005-03-23 13:33:29 Re: Delay INSERT
Previous Message Shaun Clements 2005-03-23 12:56:38 PLPGSQL