Re: Use multidimensional array as VALUES clause in insert - Mailing list pgsql-sql

From David G. Johnston
Subject Re: Use multidimensional array as VALUES clause in insert
Date
Msg-id CAKFQuwYayZ2dVHtZb0SRNq7=9nJ0kfjecRk6_=D_dKTv2LuevQ@mail.gmail.com
Whole thread Raw
In response to Use multidimensional array as VALUES clause in insert  (Mike Martin <redtux1@gmail.com>)
List pgsql-sql
On Tuesday, August 11, 2020, Mike Martin <redtux1@gmail.com> wrote:
Is this possible? I have seen examples with array literals as VALUES string, but I cant seen to get it to work with an actual array.

testing code

--This gets me a multidimensional array
with arr AS (
SELECT ARRAY(SELECT ARRAY[fileid::text,tagname,array_to_string(tagvalue,E'\b')]
FROM tagdata_all) -- limit 100)
arr1
)
--Then

INSERT INTO  tagdatatest2
SELECT  arr1::text[] FROM arr --doesnt work only populates one column with original array

There is no simple way to have each element of an array be inserted into a different column nor have each element populate a different row.  You should avoid the multi-dimensional array if at all possible.

David J.

pgsql-sql by date:

Previous
From: Mike Martin
Date:
Subject: Use multidimensional array as VALUES clause in insert
Next
From: Thomas Kellerer
Date:
Subject: Re: Use multidimensional array as VALUES clause in insert