Re: " Adding missing FROM-clause entry for table .... " problem.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: " Adding missing FROM-clause entry for table .... " problem.
Дата
Msg-id 23770.1045583425@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: " Adding missing FROM-clause entry for table .... " problem.  (Bruno Wolff III <bruno@wolff.to>)
Ответы Re: " Adding missing FROM-clause entry for table .... " problem.  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-sql
Bruno Wolff III <bruno@wolff.to> writes:
> Christoph Haller <ch@rodos.fzk.de> wrote:
>> AFAIK, statements like
>> DELETE FROM t1 where t1.id = t2.id ;
>> are legal. Could the parser still work on this, if the feature is
>> removed?

> Only if a new syntax is added.

For UPDATE, we actually do have an extension syntax that allows naming
secondary tables explicitly:
UPDATE target SET ... FROM other-tables WHERE ...

The trouble with extending this to DELETE is that DELETE already uses
the keyword FROM.  Seems like we are stuck with a choice between
DELETE FROM target FROM other-tables WHERE ...
DELETE FROM target, other-tables WHERE ...

both of which are bizarre and confusing to my eyes.  I think that MySQL
uses the second form, which I like even less than the first (it obscures
the very fundamental semantic difference between the deletion target and
the other tables).

Or we could go off with a different keyword, perhaps
DELETE FROM target WITH other-tables WHERE ...

but that doesn't seem to pass the low-astonishment test either.

Comments?  It would not be difficult to implement any of these
alternatives.  <hhg>okay, you think it's so easy, *you* decide
what color it should be</hhg>
        regards, tom lane


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: " Adding missing FROM-clause entry for table .... " problem.
Следующее
От: Jeff Eckermann
Дата:
Сообщение: Re: " Adding missing FROM-clause entry for table .... " problem.