From: | Stefan Keller <sfkeller(at)gmail(dot)com> |
---|---|
To: | pgsql-general List <pgsql-general(at)postgresql(dot)org> |
Subject: | How to append an element to a row inside a 2-dim. array? |
Date: | 2013-03-11 15:51:58 |
Message-ID: | CAFcOn2_aZKC0QM10XLYE98OK3wt6pXXXz=1MRF1kAEJOMfQnvg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi,
Question regarding arrays: How can I append an element to a row inside
a 2-dim. array?
See example below.
And:
Does anybody have experiences how arrays perform if data grows (it's
"read-mostly")?
Yours, Stefan
--
-- Arrays Test
--
CREATE TABLE ourarrtable (id int primary key, arr int[]);
INSERT INTO ourarrtable VALUES (1, '{1,2,3}');
INSERT INTO ourarrtable VALUES (2, '{{11,12,13},{21,22,23},{31,32,33}}');
SELECT * FROM ourarrtable ORDER BY id;
/*
1;"{1,2,3}"
2;"{{11,12,13},{21,22,23},{31,32,33}}"
*/
SELECT arr[1:1] FROM ourarrtable WHERE id=2;
-- "{{11,12,13}}"
-- Works for 1-dim. array in row 1:
UPDATE ourarrtable SET arr = array_append(arr, 4) WHERE id = 1;
-- How to append say number 14 to '{11,12,13}' inside 2-dim. array?
UPDATE ourarrtable SET arr[1:1] = array_cat(arr[1:1], 14) WHERE id = 1;
/*
ERROR: Function array_cat(integer[], integer) does not exist
LINE 1: UPDATE ourarrtable SET arr[1:1] = array_cat(arr[1:1], 14) WH...
*/
From | Date | Subject | |
---|---|---|---|
Next Message | Paul Jungwirth | 2013-03-11 15:52:49 | Re: Avoiding a deadlock |
Previous Message | Paul Jungwirth | 2013-03-11 15:50:03 | Re: Avoiding a deadlock |