Re: Efficient DELETE Strategies - Mailing list pgsql-sql

From Tom Lane
Subject Re: Efficient DELETE Strategies
Date
Msg-id 18946.1023805720@sss.pgh.pa.us
Whole thread Raw
In response to Re: Efficient DELETE Strategies  (Christoph Haller <ch@rodos.fzk.de>)
Responses Re: Efficient DELETE Strategies  (Manfred Koizar <mkoi-pg@aon.at>)
List pgsql-sql
Christoph Haller <ch@rodos.fzk.de> writes:
> Christopher Kings-Lynne wrote:
>> DELETE [LOW_PRIORITY | QUICK] table_name[.*] [,table_name[.*] ...]
>> FROM table-references
>> [WHERE where_definition]
>> 
>> or
>> 
>> DELETE [LOW_PRIORITY | QUICK]
>> FROM table_name[.*], [table_name[.*] ...]
>> USING table-references
>> [WHERE where_definition]
>> 
>> The idea is that only matching rows from the tables listed before the FROM
>> or before the USING clause are deleted. The effect is that you can delete
>> rows from many tables at the same time and also have additional tables that
>> are used for searching.

> Sounds tempting. It is much more what I was asking for. 
> Is there a collision with USING ( join_column_list ) ? 

Good point --- that was a very poor choice of keyword by the MySQL guys.

I have absolutely no intention of getting into this "delete from
multiple tables" business --- I don't understand the semantics it should
have, and it would probably not be easy to do inside Postgres anyway.

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?
        regards, tom lane


pgsql-sql by date:

Previous
From: Christoph Haller
Date:
Subject: Re: Efficient DELETE Strategies
Next
From: Olaf Frączyk
Date:
Subject: Unicode and escaping single quotes