From: | Gregory Stark <stark(at)enterprisedb(dot)com> |
---|---|
To: | "David Fetter" <david(at)fetter(dot)org> |
Cc: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "Jan Szumiec" <jan(dot)szumie(at)infiniteloop(dot)eu>, <pgsql-bugs(at)postgresql(dot)org> |
Subject: | Re: BUG #3320: Error when using INSERT...RETURNING as a subquery |
Date: | 2007-05-29 17:10:48 |
Message-ID: | 87646bo8rr.fsf@oxford.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
"David Fetter" <david(at)fetter(dot)org> writes:
> On Tue, May 29, 2007 at 09:41:38AM -0400, Tom Lane wrote:
>> "Jan Szumiec" <jan(dot)szumie(at)infiniteloop(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Alceu Paz | 2007-05-29 19:33:53 | BUG #3321: No start service |
Previous Message | David Fetter | 2007-05-29 16:59:15 | Re: BUG #3320: Error when using INSERT...RETURNING as a subquery |