Re: DELETE with JOIN

From: Frank Bax <fbax(at)sympatico(dot)ca>
To: pgsql-sql(at)postgresql(dot)org
Subject: Re: DELETE with JOIN
Date: 2008-08-07 20:01:29
Message-ID: 489B5499.90401@sympatico.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

felix(at)crowfix(dot)com wrote:
> On Thu, Aug 07, 2008 at 03:00:35PM -0400, Frank Bax wrote:
>> If you're really desperate; is it possible to alter table 'a' to add column
>> b_id; populate it; delete your rows without a join; then drop the column?
>
> I thought of something similar, but UPDATE has the same limitation as DELETE.

Instead of DELETE; what if you CREATE a new table of the rows you wish
to keep (using JOIN instead of IN). Then either drop original table and
rename new table OR delete all rows and re-populate from new table.

You mentioned that the process of insert/delete is to be repeated. Are
all the rows that were inserted; the same ones that will be deleted when
the cycle is complete? If yes; then after you delete this batch of
rows; add a 'junky' column and populate with any value different from
the default. Your mass-insert should populate with the default value;
and you can delete based on this value.

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Mark Roberts 2008-08-07 20:27:00 Re: DELETE with JOIN
Previous Message Tom Lane 2008-08-07 19:58:51 Re: DELETE with JOIN