Обсуждение: Mention RETURNING ... INTO target
The following documentation comment has been logged on the website: Page: https://www.postgresql.org/docs/14/sql-insert.html Description: It looks like INSERT INTO ... RETURNING allows defining a target for the returned values like SELECT ... INTO does. This could be mentioned in the synopsis, or at least in the description of "output_expression", maybe even garnished with an example. Thanks, s.
The following documentation comment has been logged on the website:
Page: https://www.postgresql.org/docs/14/sql-insert.html
Description:
It looks like INSERT INTO ... RETURNING allows defining a target for the
returned values like SELECT ... INTO does.
This could be mentioned in the synopsis, or at least in the description of
"output_expression", maybe even garnished with an example.
That isn't how it works. RETURNING simply turns INSERT into a result set producing SQL Command. And SQL doesn't have a concept of "target" (variables) in the sense you are thinking. pg/pgsql does, allowing result set data to be placed into variables.
If you look you'll notice a corresponding lack of "INTO" on the SELECT Command reference page as well, for the same reason.
David J.
"David G. Johnston" <david.g.johnston@gmail.com> writes: > On Tue, Jun 7, 2022 at 1:30 PM PG Doc comments form <noreply@postgresql.org> > wrote: >> It looks like INSERT INTO ... RETURNING allows defining a target for the >> returned values like SELECT ... INTO does. > That isn't how it works. RETURNING simply turns INSERT into a result set > producing SQL Command. And SQL doesn't have a concept of "target" > (variables) in the sense you are thinking. pg/pgsql does, allowing result > set data to be placed into variables. Right. And in fact this *is* documented in the context of pl/pgsql: https://www.postgresql.org/docs/current/plpgsql-statements.html#PLPGSQL-STATEMENTS-SQL-ONEROW regards, tom lane
To "David G. Johnston" <david.g.johnston@gmail.com>
Cc s@xss.de; "Pg Docs" <pgsql-docs@lists.postgresql.org>
Date 07.06.2022 23:07:30
Subject Re: Mention RETURNING ... INTO target
"David G. Johnston" <david.g.johnston@gmail.com> writes:On Tue, Jun 7, 2022 at 1:30 PM PG Doc comments form <noreply@postgresql.org>wrote:It looks like INSERT INTO ... RETURNING allows defining a target for thereturned values like SELECT ... INTO does.That isn't how it works. RETURNING simply turns INSERT into a result setproducing SQL Command. And SQL doesn't have a concept of "target"(variables) in the sense you are thinking. pg/pgsql does, allowing resultset data to be placed into variables.Right. And in fact this *is* documented in the context of pl/pgsql:regards, tom lane
"single-row results" when looking for an assumed option of "INSERT".
s.