From: | "Alexander M(dot) Pravking" <fduch(at)antar(dot)bryansk(dot)ru> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: UPDATE ... WHERE (subselect on the same table) |
Date: | 2004-06-29 17:28:49 |
Message-ID: | 20040629172849.GB73173@dyatel.antar.bryansk.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
On Tue, Jun 29, 2004 at 12:49:55PM -0400, Tom Lane wrote:
> > So I have two questions:
> > Q1, cognitive. Why the alias for the updated table is restricted?
>
> Because the SQL standard doesn't allow an alias there. We've talked
> about allowing one anyway, but no one's gotten around to it. AFAICS
> it would only be a marginal notational advantage, not allow you to
> express queries you can't express today.
>
> > Q2, vital. Can I be sure that the syntax I used here will work
> > correctly, i.e. will the "test.name" always refer the column in outer
> > table, not inner (t2)?
>
> Yes. The alias *completely* hides the real name of that table
> reference, so "test" will never refer to "test t2".
As always, perfectly clear, thank you Tom :)
I already found in docs on SELECT:
When an alias is provided, it completely hides the actual name of the
table or table function;
/me should RTFM... (repeating hundred times)
--
Fduch M. Pravking
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Stark | 2004-06-29 17:33:23 | Re: FW: "=" operator vs. "IS" |
Previous Message | Tom Lane | 2004-06-29 16:49:55 | Re: UPDATE ... WHERE (subselect on the same table) |