On 08/04/11 21:22, Gavin Flower wrote:
> On 08/04/11 14:57, Tom Lane wrote:
>> "Gavin Flower"<gavin.flower@archidevsys.co.nz> writes:
>>> I think the documentation of SELECT should include the keyword 'RETURNING'
>>> in its synopsis.
>> Huh? There's no SELECT RETURNING.
>>
>> regards, tom lane
> The 'WITH' clause is described in the synopsis for 'SELECT' - and the
> 'WITH' clause uses the keyword 'RETURNING'.
>
> and/with_query/ is:
>
> /with_query_name/ [ (/column_name/ [, ...] ) ] AS (/select/ |/insert/ |/update/ |/delete/ )
>
> So as the 'WITH' clause is defined in the synopsis, I would expect
> that the synopsis for 'SELECT' should also mention the 'RETURNING'
> keyword - but it does not.
>
> There is an example in:
> '7.8. WITH Queries (Common Table Expressions)'
> WITH t AS (
> UPDATE products SET price = price * 1.05
> RETURNING *
> )
> SELECT * FROM t;
>
> Regards,
> Gavin
I found were RETURNING is defined, so I was confused...
Synopsis
UPDATE [ ONLY ]/table/ [ [ AS ]/alias/ ]
SET {/column/ = {/expression/ | DEFAULT } |
(/column/ [, ...] ) = ( {/expression/ | DEFAULT } [, ...] ) } [, ...]
[ FROM/fromlist/ ]
[ WHERE/condition/ | WHERE CURRENT OF/cursor_name/ ]
[ RETURNING * |/output_expression/ [ [ AS ]/output_name/ ] [, ...] ]
However, may be it would still be good to mention it on the SELECT page?
Cheers,
Gavin
(Who while feeling a little foolish, still thinks he has a valid point!)