Mega Code Archive

 
Categories / PostgreSQL / Array
 

Update in a slice

postgres=# postgres=# postgres=# CREATE TABLE sal_emp ( postgres(#    name            text, postgres(#    pay_by_quarter  integer[], postgres(#    schedule        text[][] postgres(# ); CREATE TABLE postgres=# postgres=# INSERT INTO sal_emp postgres-#    VALUES ('Bill', postgres(#    ARRAY[10000, 10000, 10000, 10000], postgres(#    ARRAY[['meeting', 'lunch'], ['training', 'presentation']]); INSERT 0 1 postgres=# postgres=# INSERT INTO sal_emp postgres-#    VALUES ('Carol', postgres(#    ARRAY[20000, 25000, 25000, 25000], postgres(#    ARRAY[['breakfast', 'consulting'], ['meeting', 'lunch']]); INSERT 0 1 postgres=# postgres=# SELECT * FROM sal_emp;  name  |      pay_by_quarter       |                 schedule -------+---------------------------+-------------------------------------------  Bill  | {10000,10000,10000,10000} | {{meeting,lunch},{training,presentation}}  Carol | {20000,25000,25000,25000} | {{breakfast,consulting},{meeting,lunch}} (2 rows) postgres=# postgres=# -- Update in a slice: postgres=# postgres=# UPDATE sal_emp SET pay_by_quarter[1:2] = '{27000,27000}' WHERE name = 'Carol'; UPDATE 1 postgres=# postgres=# select * from sal_emp;  name  |      pay_by_quarter       |                 schedule -------+---------------------------+-------------------------------------------  Bill  | {10000,10000,10000,10000} | {{meeting,lunch},{training,presentation}}  Carol | {27000,27000,25000,25000} | {{breakfast,consulting},{meeting,lunch}} (2 rows) postgres=# postgres=# drop table sal_emp; DROP TABLE postgres=#