Order of Operations for Update Command

Started by Simon Whiteover 9 years ago2 messagesdocs
Jump to latest
#1Simon White
simonwhite@dciphercomputing.com

The following documentation comment has been logged on the website:

Page: https://www.postgresql.org/docs/9.5/static/sql-update.html
Description:

Does the Update command update the columns in the order they are listed? Can
an updated column's new value be used in the value calculation for a
subsequent column?
i.e. update mytable set qty=qty+5,price=price*1.1,subtotal=qty*price
Will the subtotal be calculated based on the old column values or the new
column values?

--
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Simon White (#1)
Re: Order of Operations for Update Command

simonwhite@dciphercomputing.com writes:

Does the Update command update the columns in the order they are listed?

Notionally, they're all done concurrently. This is embodied in our
docs by defining the update source expressions thus:

An expression to assign to the column. The expression can use the
old values of this and other columns in the table.

Can an updated column's new value be used in the value calculation for a
subsequent column?

No, see above.

regards, tom lane

--
Sent via pgsql-docs mailing list (pgsql-docs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs