Re: Dynamic column names in plpgsql

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Derrick Betts" <derrick(at)grifflink(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: Dynamic column names in plpgsql
Date: 2006-01-31 14:34:24
Message-ID: 3525.1138718064@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

"Derrick Betts" <derrick(at)grifflink(dot)com> writes:
> I'm trying to write a function that uses dynamic column names to fetch
> the results within those columns.

The only way to do that in plpgsql is to construct a query string and
execute it with EXECUTE (or FOR ... IN EXECUTE). Anything else falls
foul of plpgsql's desire to cache execution plans for its queries.

The other PL languages make this easier, mainly because (a) their semantics
for database queries are always like EXECUTE, and (b) they all have more
extensive string-pushing facilities than plpgsql. So you should consider
plperl, pltcl, and/or plpython depending on which languages you know.

regards, tom lane

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Tom Lane 2006-01-31 15:00:26 Re: copy
Previous Message Andreas 2006-01-31 14:32:46 Re: Upgrade to PG 8 before starting major development?