Re: BUG #3320: Error when using INSERT...RETURNING as a subquery - Mailing list pgsql-bugs

From Gregory Stark
Subject Re: BUG #3320: Error when using INSERT...RETURNING as a subquery
Date
Msg-id 87646bo8rr.fsf@oxford.xeocode.com
Whole thread Raw
In response to Re: BUG #3320: Error when using INSERT...RETURNING as a subquery  (David Fetter <david@fetter.org>)
Responses Re: BUG #3320: Error when using INSERT...RETURNING as a subquery  (Jeff Davis <pgsql@j-davis.com>)
List pgsql-bugs
"David Fetter" <david@fetter.org> writes:

> On Tue, May 29, 2007 at 09:41:38AM -0400, Tom Lane wrote:
>> "Jan Szumiec" <jan.szumie@infiniteloop.eu> writes:
>> > UPDATE items SET (type, post_id) = (INSERT INTO efforts (effort) VALUES
>> > (667) RETURNING 'Item', id) WHERE id = 1937
>>
>> Sorry, RETURNING is only supported at the top level of a query.
>
> What would be involved with making this possible?  What we have at the
> moment is a pretty clear POLA violation because unlike the rest of the
> row-returning objects (tables, views, SRFs and VALUES() clauses), only
> RETURNING can't be used in a subquery.

It has the same problem that SELECT triggers have. How many rows should you
expect that subquery to insert, update, or delete if it's used in a join
clause? Or in the where clause of another insert/update/delete statement?

--
  Gregory Stark
  EnterpriseDB          http://www.enterprisedb.com

pgsql-bugs by date:

Previous
From: David Fetter
Date:
Subject: Re: BUG #3320: Error when using INSERT...RETURNING as a subquery
Next
From: "Alceu Paz"
Date:
Subject: BUG #3321: No start service