Re: DELETE syntax on JOINS

Поиск
Список
Период
Сортировка
От Bill Moran
Тема Re: DELETE syntax on JOINS
Дата
Msg-id 20090824122900.f70e59c2.wmoran@potentialtech.com
обсуждение исходный текст
Ответ на Re: DELETE syntax on JOINS  (Bruce Momjian <bruce@momjian.us>)
Ответы Re: DELETE syntax on JOINS
Список pgsql-hackers
In response to Bruce Momjian <bruce@momjian.us>:

> Alvaro Herrera wrote:
> > Bruce Momjian wrote:
> > 
> > > > Ultimately, why not allow:
> > > > 
> > > > DELETE h, tn
> > > > FROM history AS h 
> > > > INNER JOIN term_node AS tn ON (h.nid = tn.nid) 
> > > > INNER JOIN term_data AS td ON (td.tid = tn.tid) 
> > > > WHERE h.uid = 2067 AND td.vid = 2
> > > > 
> > > > IMHO this would improve compliance towards other database systems. To me
> > > > this seems to be in the reasonable scope of compatibility.
> > > 
> > > Which "other database systems"?  Only MySQL?  If it is MySQL-only, we
> > > are unlikely to add it.
> > 
> > The SQL standard does not support this syntax.  They would have you put
> > the joins in a subselect (which is often not enough because then you
> > can't use outer joins).
> 
> So the problem is that our DELETE ... USING does not allow ANSI join
> syntax?  Can that be added?

I suspect that the reason MySQL has this syntax is because for a long time
they didn't have proper foreign keys and referential integrity.

With proper foreign keys and ON DELETE CASCADE, why would supporting
such syntax even be necessary?

-- 
Bill Moran
http://www.potentialtech.com
http://people.collaborativefusion.com/~wmoran/


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Magnus Hagander
Дата:
Сообщение: Re: hba load error and silent mode
Следующее
От: Tom Lane
Дата:
Сообщение: Re: hba load error and silent mode