Re: Efficient DELETE Strategies
| От | Tom Lane |
|---|---|
| Тема | Re: Efficient DELETE Strategies |
| Дата | |
| Msg-id | 18946.1023805720@sss.pgh.pa.us обсуждение |
| Ответ на | Re: Efficient DELETE Strategies (Christoph Haller <ch@rodos.fzk.de>) |
| Ответы |
Re: Efficient DELETE Strategies
|
| Список | 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 по дате отправления: