Re: (Pl/SQL) Obtaining field names from record 'variable' - Mailing list pgsql-admin

From Allan Kamau
Subject Re: (Pl/SQL) Obtaining field names from record 'variable'
Date
Msg-id 116540.39716.qm@web53502.mail.re2.yahoo.com
Whole thread Raw
In response to (Pl/SQL) Obtaining field names from record 'variable'  (Allan Kamau <kamauallan@yahoo.com>)
List pgsql-admin
Hi,
Thank you for your reply Elvis, am still finding my feet on how to query the system catalogs though and interested in knowing how to do this.
Today I have another question, how do I query for a field value from the dynamically constructed field name of the returned record variable?
Let me explain, lets say I have managed to obtain the field name 'D30' (from using the system catalogs or from reading field names I had  previously placed in an array) into a varchar(20) variable called current_field, how can I get the fields value from my record variable called 'query_rec', and a simple query_rec.current_field will not do?

Allan.


----- Original Message ----
From: Elvis Henríquez <henriquez.elvis@gmail.com>
To: Allan Kamau <kamauallan@yahoo.com>
Cc: pgsql-admin@postgresql.org
Sent: Wednesday, December 12, 2007 8:34:52 PM
Subject: Re: [ADMIN] (Pl/SQL) Obtaining field names from record 'variable'


Hi. You could do a query to the system catalogs (pg_attribute, for example) with your table name as the search criteria and the field names as the data; loop through that data to create your query in a string variable, and then EXECUTE it. While you are "looping" through the results of the system catalog query, you can apply all the text functions available, so you can split the field names, join them, etc.

I have done some similar queries. It's pretty simple.

Hope it helped.

Elvis.

On Dec 12, 2007 7:37 AM, Allan Kamau < kamauallan@yahoo.com > wrote:
Hi,
I am writing a PL/SQL script to process data from a high dimensionality table where this table has most of it's field names encapsulating data. I would like to automatically loop through the fields of a  RECORD variable (returned from a cursor) obtaining the field name and the field value.
For example my table is listed below (briefly)

create table my_table
(
id int not null-- default nextval(('my_table_seq'::text)::regclass)
,some_explanation varchar(20) not null
,D30 varchar(100) null
,W32 varchar(100) null
,C33 varchar(100) null
,V7 varchar(100) null
,...
)
;

The field name W32 consists of 'W' which is data I need and '32' which is data I also need along with the actual record value contained in this field.


Allan.




     ____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile.  Try it now.   http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ


---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to majordomo@postgresql.org so that your
      message can get through to the mailing list cleanly


Hi,


Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.



Be a better friend, newshound, and know-it-all with Yahoo! Mobile. Try it now.

pgsql-admin by date:

Previous
From: "Joshua D. Drake"
Date:
Subject: Re: sequence owned by backwards compatability
Next
From: Wouter Pels
Date:
Subject: Re: sequence owned by backwards compatability