INSERT INTO arr2(array[1].d, array[2].d)
Over in [1], I was very surprised to discover $SUBJECT[2]. I looked in
the docs, and they clearly indicate that INSERT accepts "column names".
What's the best way to describe this? "column expression"? "field
expression"?
1:
/messages/by-id/20170311005810.kuccp7t5t5jhe736@alap3.anarazel.de
2:
CREATE TABLE arr(d int[]);
CREATE TABLE arr2(arr arr)
INSERT INTO arr2(arr[1].d, arr[2].d) VALUES(ARRAY[1,2],ARRAY[3,4])
RETURNING *
┌───────────────────────────────┐
│ arr │
├───────────────────────────────┤
│ {"(\"{1,2}\")","(\"{3,4}\")"} │
└───────────────────────────────┘
--
Jim Nasby, Chief Data Architect, OpenSCG
http://OpenSCG.com
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
On 2017-03-11 14:43:55 -0600, Jim Nasby wrote:
Over in [1], I was very surprised to discover $SUBJECT[2]. I looked in the
docs, and they clearly indicate that INSERT accepts "column names".
They also say "The column name can be qualified with a subfield name or
array subscript, if needed."
What's the best way to describe this? "column expression"? "field
expression"?
field expression is the better of the two, but I'm not really convinced
changing.
For reference:
1: /messages/by-id/20170311005810.kuccp7t5t5jhe736@alap3.anarazel.de
2:
CREATE TABLE arr(d int[]);
CREATE TABLE arr2(arr arr)
INSERT INTO arr2(arr[1].d, arr[2].d) VALUES(ARRAY[1,2],ARRAY[3,4]) RETURNING
*
┌───────────────────────────────┐
│ arr │
├───────────────────────────────┤
│ {"(\"{1,2}\")","(\"{3,4}\")"} │
└───────────────────────────────┘
- Andres
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers