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