Mega Code Archive

 
Categories / PostgreSQL / Array
 

An array may also be updated at a single element

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=# postgres=# -- An array may also be updated at a single element: postgres=# postgres=# UPDATE sal_emp SET pay_by_quarter[4] = 15000 WHERE name = 'Bill'; UPDATE 1 postgres=# postgres=# select * from sal_emp;  name  |      pay_by_quarter       |                 schedule -------+---------------------------+-------------------------------------------  Carol | {20000,25000,25000,25000} | {{breakfast,consulting},{meeting,lunch}}  Bill  | {10000,10000,10000,15000} | {{meeting,lunch},{training,presentation}} (2 rows) postgres=# postgres=# drop table sal_emp; DROP TABLE postgres=# postgres=#