Re: UPDATE ... WHERE (subselect on the same table)

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

In response to

Browse pgsql-sql by date

  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)