Re: " Adding missing FROM-clause entry for table .... " problem. - Mailing list pgsql-sql

From Stephan Szabo
Subject Re: " Adding missing FROM-clause entry for table .... " problem.
Date
Msg-id 20030218075714.E20577-100000@megazone23.bigpanda.com
Whole thread Raw
In response to Re: " Adding missing FROM-clause entry for table .... " problem.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-sql
On Tue, 18 Feb 2003, Tom Lane wrote:

> 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.

It'd seem reasonable to use something like SQL99's WITH, although
that'd put the WITH before the FROM I think.  That'd at least be similar
to using it in select (admittedly we don't have it yet, but wasn't someone
talking about it?)



pgsql-sql by date:

Previous
From: Jeff Eckermann
Date:
Subject: Re: " Adding missing FROM-clause entry for table .... " problem.
Next
From: Jeff Eckermann
Date:
Subject: Re: