How to append an element to a row inside a 2-dim. array?
От | Stefan Keller |
---|---|
Тема | How to append an element to a row inside a 2-dim. array? |
Дата | |
Msg-id | CAFcOn2_aZKC0QM10XLYE98OK3wt6pXXXz=1MRF1kAEJOMfQnvg@mail.gmail.com обсуждение исходный текст |
Ответы |
Re: How to append an element to a row inside a 2-dim. array?
|
Список | 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... */
В списке pgsql-general по дате отправления: