UPDATE table SET col = (SELECT ...) - Mailing list pgsql-sql

From Eric Marsden
Subject UPDATE table SET col = (SELECT ...)
Date
Msg-id wzi4sqdzhqv.fsf@mail.dotcom.fr
Whole thread Raw
List pgsql-sql
Hello,

If I understand the SQL references I have read, UPDATEs are allowed to
pull data from SELECT statements, something like

  UPDATE table SET col1 = (SELECT val1 FROM table WHERE id = 34),
               SET col2 = (SELECT val2 FROM table WHERE id = 34)
         WHERE id = 35;

However, the PostgreSQL parser chokes on the 'SELECT'. The
documentation says

  UPDATE table SET column = expression [, ...]
      [ FROM fromlist ]
      [ WHERE condition ]

  expression = A valid expression or value to assign to column.


I don't know exactly how to interpret `valid expression'.

--
Eric Marsden
emarsden @ mail.dotcom.fr
It's elephants all the way down

pgsql-sql by date:

Previous
From: Gregory Holston
Date:
Subject: Re: [SQL] booleans
Next
From: pierre@desertmoon.com
Date:
Subject: html table output of table space