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=#
postgres=#
Related examples in the same category