Re: Efficient DELETE Strategies

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Manfred Koizar <mkoi-pg(at)aon(dot)at>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Christoph Haller <ch(at)rodos(dot)fzk(dot)de>, pgsql-sql(at)postgresql(dot)org
Subject: Re: Efficient DELETE Strategies
Date: 2002-06-12 16:36:36
Message-ID: 200206121636.g5CGaaR04976@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Manfred Koizar wrote:
> On Tue, 11 Jun 2002 10:28:40 -0400, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
> wrote:
> >It would seem that
> >
> > DELETE [ FROM ] relation_expr [ alias_clause ]
> > [ FROM from_list ] where_clause
> >
> >is the syntax that would be most nearly compatible with MSSQL and MySQL.
> >Does Oracle have anything comparable?
>
> Oracle basically supports (with slight variations between releases
> 7/8/9):
> DELETE [FROM] { table
> | view
> | ( subquery )
> }
> [alias] [WHERE ...] [returning_clause]
>
> Informix (March 1997, 9.1?):
> DELETE FROM { table
> | ONLY ( table )
> | view
> | synonym
> | collection_derived_table
> }
> WHERE condition
>
> According to the "SQL Quick Syntax Guide" the WHERE clause is not
> optional. Does anybody know, if this is a documentation bug?
> "Guide to SQL, Syntax" (Feb 1998, v7.3, v8.2) says, the WHERE clause
> is optional, as we'd expect.

Informix in dbaccess prompts you if you do a DELETE with no WHERE to
make sure it is what you want, if I remember correctly. In app code,
the WHERE is optional. At least that is how I remember it.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Bruce Momjian 2002-06-12 17:52:00 Re: Domains
Previous Message Stephan Szabo 2002-06-12 14:57:46 Re: Timestamp problem