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