Re: Name/Value array to table row

Поиск
Список
Период
Сортировка
От David G. Johnston
Тема Re: Name/Value array to table row
Дата
Msg-id CAKFQuwb73Lq9ehUrC1hEgFtn+q-MNK84=eTNsY_NOqM=XOzQjA@mail.gmail.com
обсуждение исходный текст
Ответ на Name/Value array to table row  (Michael Moore <michaeljmoore@gmail.com>)
Ответы Re: Name/Value array to table row  (Michael Moore <michaeljmoore@gmail.com>)
Список pgsql-sql
On Mon, Dec 14, 2015 at 6:20 PM, Michael Moore <michaeljmoore@gmail.com> wrote:
I have an array that is a name value pair where the name is the name of a column in a table. There are about 300 columns. I want to use all of the name value pairs to construct the table row. I've thought about using jsonb or hstore. I'm sure I could write some ugly code to do this, but what is the BEST way to go about this?
I.E 
ARRAY
name |value
-----------
animal | 'cat'
lbs      | 20

create table animals (animal text, lbs number);


​I cannot interpret your pseudo-code shorthand array stuff but I suspect the "table row construction" ​would be most simply implemented using "json_populate_record(...)" and preceding code can focus on transforming your array into the equivalent json.  Using the array directly would likely require you to construct dynamic SQL in a plpgsql function.

Given my confusion regarding the form of your array it is not possible to advise on how such a conversion (to json) function/query would look.  There are considerable array and json functions that should make doing this step reasonably straight-forward.  unnest() may enter into the picture.

David J.


В списке pgsql-sql по дате отправления:

Предыдущее
От: Michael Moore
Дата:
Сообщение: Name/Value array to table row
Следующее
От: Michael Moore
Дата:
Сообщение: Re: Name/Value array to table row