Update in a slice : Update « Insert Delete Update « PostgreSQL






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

1.Update a single row
2.Using expression in update statement
3.Update two columns in one single statement
4.A simple UPDATE: change one cell
5.Updating entire columns
6.Updating Several Columns
7.Using UPDATE with several Employees
8.Using user defined function to update table data