Re: Putting an aggregate value in an UPDATE statement... - Mailing list pgsql-novice

From Leif Biberg Kristensen
Subject Re: Putting an aggregate value in an UPDATE statement...
Date
Msg-id 201006012326.05068.leif@solumslekt.org
Whole thread Raw
In response to Re: Putting an aggregate value in an UPDATE statement...  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Putting an aggregate value in an UPDATE statement...  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-novice
> You need them to syntactically separate the sub-select from the outer
> select.  If SQL didn't require them, then in something like
>
>     UPDATE question_choices SET total_rows =
>         select count(*) from care_lesson where something
>
> it wouldn't be clear whether the WHERE clause was meant to attach
> to the sub-select or the outer UPDATE.

A couple of days ago, a was a little stumped by this. I had written a plain
SQL function with one integer parameter, and then tried to use a SELECT as
input parameter as in

SELECT myfunc(SELECT foo FROM bar WHERE baz);

It took a while before I realized that I needed to put the query in another
set of parentheses:

SELECT myfunc((SELECT foo FROM bar WHERE baz));

worked just fine. I fail to see the ambiguity here, though.

regards,
--
Leif Biberg Kristensen
http://solumslekt.org/blog/

pgsql-novice by date:

Previous
From: Tom Lane
Date:
Subject: Re: Putting an aggregate value in an UPDATE statement...
Next
From: Tom Lane
Date:
Subject: Re: Putting an aggregate value in an UPDATE statement...