Hi,
postgresql-9.6.15
I just tried something like:
select * from
(update tblname t set ... where ... returning ...)
order by ...;
assuming it would work but it didn't.
That's OK. I found on stackoverflow
that a CTE can be used to do it:
with u as
(update tblname t set ... where ... returning ...)
select * from u order by ...;
What surprises me is the syntax error:
ERROR: syntax error at or near "t"
LINE 2: tblname t
^
If the syntax was invalid because an update returning
statement can't appear in a from clause, I'd expect the
error to be at the token "update".
It's almost as if the parser sees "update" as a possible
table name (rather than a reserved word) and "tblname"
as the alias for that table and it's expecting a comma
or left/right/full etc. when it seess the "t".
Anyone care to explain why the error is what it is?
It's no big deal. I'm just curious.
cheers,
raf