On 12/20/2013 09:59 AM, Alvaro Herrera wrote:

WITH moved AS (
        DELETE FROM src WHERE ..
        RETURNING *
) INSERT INTO dst SELECT * FROM moved;

I know that's effectively an atomic action, but I'd feel a lot more comfortable reversing that logic so the delete is based on the results of the insert.

WITH saved AS (
    INSERT INTO dst
    SELECT * FROM src WHERE ...
    RETURNING *
)
DELETE FROM src
 WHERE ...;

I'll admit yours is cleaner, though. :)

--
Shaun Thomas
OptionsHouse | 141 W. Jackson Blvd. | Suite 500 | Chicago IL, 60604
312-676-8870
stho...@optionshouse.com

______________________________________________

See http://www.peak6.com/email_disclaimer/ for terms and conditions related to 
this email


--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Reply via email to