From: Alexander M. Pravking <fduch@antar.bryansk.ru>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-sql@postgresql.org
Subject: Re: UPDATE ... WHERE (subselect on the same table)
Date: Tue, 29 Jun 2004 21:28:49 +0400
Message-ID: <20040629172849.GB73173@dyatel.antar.bryansk.ru> (raw)
In-Reply-To: <1981.1088527795@sss.pgh.pa.us>
References: <20040629161742.GA73173@dyatel.antar.bryansk.ru>
<1981.1088527795@sss.pgh.pa.us>
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: fduch@antar.bryansk.ru, tgl@sss.pgh.pa.us
Subject: Re: UPDATE ... WHERE (subselect on the same table)
In-Reply-To: <20040629172849.GB73173@dyatel.antar.bryansk.ru>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox