Re: How to assemble all fields of (any) view into a string?

From: Ken Tanzer <ken(dot)tanzer(at)gmail(dot)com>
To: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
Cc: PG-General Mailing List <pgsql-general(at)postgresql(dot)org>
Subject: Re: How to assemble all fields of (any) view into a string?
Date: 2016-09-07 20:36:55
Message-ID: CAD3a31UhbOJeSoLYokx99k4Td9FFOUr=T-Gm-6n5trDPyi1B8Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, Sep 7, 2016 at 1:22 PM, Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
wrote:

> On 09/07/2016 01:15 PM, Ken Tanzer wrote:
>
>> Hi. Using version 9.2. I'm trying to create a function that will take
>> a record from any view and assemble it into a string, for export to
>> another system. For example, this view:
>>
>> \d ebh_gain
>>>
>> View "public.ebh_gain"
>> Column | Type | Modifiers
>> -------------------+---------------+-----------
>> reporting_unit_id | character(3) |
>> case_id | character(10) |
>> event_date | character(8) |
>> ids_score | character(1) |
>> eds_score | character(1) |
>> sds_score | character(1) |
>> kc_auth_number | integer |
>> king_county_id | integer |
>>
>> would get converted into a string with all the fields concatenated
>> together, and space-padded to their full lengths.
>>
>
> I think an example is needed. I was thinking you wanted the field values
> transformed, but the below seems to indicate something different.
>
> No transformation is needed, except for padding the fields out to their
maximum lengths. So for example with these values

('AA','1243','20160801','2','1','1',37,24)

I need a string created that looks like this:

'AA 1243 201608012113724'

I have a whole bunch of views that I need to do this for, and am hoping to
avoid coding something specific for each one.

>
>> My original idea was to do this in TCL by passing a record and a view
>> name. The function would then look up the columns in the
>> information_schema, and use that info to assemble and return the
>> string. But it looks like TCL functions won't accept a record as an
>> argument.
>>
>> Any suggestions or advice most welcome. Thanks!
>>
>> Ken
>> --
>> AGENCY Software
>> A Free Software data system
>> By and for non-profits
>> /http://agency-software.org//
>> /https://agency-software.org/demo/client/
>> ken(dot)tanzer(at)agency-software(dot)org <mailto:ken(dot)tanzer(at)agency-software(dot)org>
>> (253) 245-3801
>>
>> Subscribe to the mailing list
>> <mailto:agency-general-request(at)lists(dot)sourceforge(dot)net?body=subscribe> to
>> learn more about AGENCY or
>> follow the discussion.
>>
>
>
> --
> Adrian Klaver
> adrian(dot)klaver(at)aklaver(dot)com
>

--
AGENCY Software
A Free Software data system
By and for non-profits
*http://agency-software.org/ <http://agency-software.org/>*
*https://agency-software.org/demo/client
<https://agency-software.org/demo/client>*
ken(dot)tanzer(at)agency-software(dot)org
(253) 245-3801

Subscribe to the mailing list
<agency-general-request(at)lists(dot)sourceforge(dot)net?body=subscribe> to
learn more about AGENCY or
follow the discussion.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Melvin Davidson 2016-09-07 20:42:11 Re: pgAdmin 4 records limit of 2000
Previous Message Adrian Klaver 2016-09-07 20:22:34 Re: How to assemble all fields of (any) view into a string?