UPDATE
¶
Update rows of a table.
Table of contents
Synopsis¶
UPDATE table_ident [ [AS] table_alias ] SET
{ column_ident = expression } [, ...]
[ WHERE condition ]
[ RETURNING { * | output_expression [ [ AS ] output_name ] | relation.* } [, ...] ]
Description¶
UPDATE
changes the values of the specified columns in all rows that satisfy
the condition. Only the columns to be modified need be mentioned in the SET
clause; columns not explicitly modified retain their previous values.
The optional RETURNING
clause for UPDATE
causes the query to return the
specified values from each row that was updated. Any expression using the table’s columns can be computed. The new
(post-update) values of the table’s columns are used. The syntax of the
RETURNING
list is identical to that of the output list of SELECT
.
Parameters¶
- table_ident:
The identifier (optionally schema-qualified) of an existing table.
- table_alias:
A substitute name for the target table.
When an alias is provided, it completely hides the actual name of the table. For example, given
UPDATE foo AS f
, the remainder of theUPDATE
statement must refer to this table asf
notfoo
.- column_ident:
The name of a column in the table identified by
table_ident
. It is also possible to use object subscript to address the inner fields of an object column and array subscript elements of an array.- expression:
An expression to assign to the column.
- condition:
An expression that returns a value of type boolean. Only rows for which this expression returns true will be updated.
- output_expression:
An expression to be computed and returned by the
UPDATE
command after each row is updated. The expression can use any column names of the table or*
to return all columns. System columns can also be returned.- output_name:
A name to use for the result of the output expression.