Re: Referencing Cursor/Row/Record Fields in PL/PgSQL

From: Lee Hughes <lee(at)hughesys(dot)com>
To: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-general(at)postgresql(dot)org
Subject: Re: Referencing Cursor/Row/Record Fields in PL/PgSQL
Date: 2009-02-11 16:42:13
Message-ID: 2d739b560902110842g5ce281d8pdb865b4cb0965c76@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

I got it to work in plpgsql through the use of pg_attribute and a temporary
table with known field names like "field0", "field1", etc. Works very nicely
and performance seems fine so far.

Thanks for your help.

Lee

On Tue, Feb 10, 2009 at 8:21 PM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>wrote:

> Hello
>
> 2009/2/11 Lee Hughes <lee(at)hughesys(dot)com>:
> > I thought that's what EXECUTE was for in plpgsql -- isn't there a way to
> > extract the value of a field in a row/record variable by building a
> SELECT
> > string and passing it to EXECUTE?
> >
>
> not in plpgsql. Try, plperl or some synamic PL language, please
>
> regards
> Pavel Stehule
>
> > On Tue, Feb 10, 2009 at 1:22 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> >>
> >> Lee Hughes <lee(at)hughesys(dot)com> writes:
> >> > Trying to figure out how to reference a field in a cursor result, or
> in
> >> > a
> >> > row/record variable that I've FETCHed the cursor into, where the
> target
> >> > field name is in a variable or parameter. I think I'm just missing the
> >> > dereferencing syntax.
> >>
> >> There isn't any --- plpgsql doesn't deal in accesses to unknown fields
> >> (mainly because it can't know their type, and it's a strongly typed
> >> language). Consider plperl or plpython or pl-anything-but-pgsql.
> >>
> >> regards, tom lane
> >
> >
> >
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Grzegorz Jaśkiewicz 2009-02-11 16:45:06 Re: Pet Peeves?
Previous Message Alvaro Herrera 2009-02-11 16:26:06 Re: Pet Peeves?