Re: request for sql3 compliance for the update command - Mailing list pgsql-hackers

From Hannu Krosing
Subject Re: request for sql3 compliance for the update command
Date
Msg-id 1048086940.2580.19.camel@fuji.krosing.net
Whole thread Raw
In response to Re: request for sql3 compliance for the update command  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: request for sql3 compliance for the update command  (Greg Stark <gsstark@mit.edu>)
List pgsql-hackers
Tom Lane kirjutas K, 19.03.2003 kell 16:46:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > I wasn't sure it made logical sense to allow correlated subqueries in
> > FROM because the FROM is processed before the WHERE.
>
> It doesn't; in fact it violates the whole semantic model of SQL,
> as far as I can see.  Sub-selects in FROM are (in principle)
> evaluated separately and then joined.  They can't have cross-references.

Makes sense. What I was describing would have been akin to updatable
queries where you first do all the joining and then update one of the
underlying tables.

the more accurate (nonstandard) syntax could have been

SELECT src.val,      tgt.val  FROM updatesrc as src FOR UPDATE,      updatetgd as tgtWHERE src.id = tgt.id  SET src.val
=tgt.val
 
;

> I think there is some weird construct in SQL99 that alters this behavior,
> though.

You probably mean WITH, which acts like FROM but has lexically previous
(or all in case of WITH RECURSIVE) sub-selects in its namespace.

----------------
Hannu




pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: request for sql3 compliance for the update command
Next
From: Stephan Szabo
Date:
Subject: Re: Another naive question, inheritance and foreign key