Thread: table aliases with updates

table aliases with updates

From
pgsql-bugs@postgresql.org
Date:
andrew brown (andy75@hotmail.com) reports a bug with a severity of 3
The lower the number the more severe it is.

Short Description
table aliases with updates

Long Description
It appears that table aliases cannot be used in update queries for the table we are updating.

Sample Code
This doesn't work:

update table1 t1 set value1 = (select value1 from table2 t2 where t2.value2 = t1.value2)

But this does:

update table1 set value1 = (select value1 from table2 t2 where t2.value2 = table1.value2)


No file was uploaded with this report

Re: table aliases with updates

From
Stephan Szabo
Date:
This sounds like an enhancement, not a bug per-se.  SQL92 seems
to say the below about searched update statements.  What
was the error you got from your first query?  (I'd guess
a parser error at t1?)

<update statement: searched> ::=
 UPDATE <table name>
 SET <set clause list>
 [ WHERE <search condition> ]

Stephan Szabo
sszabo@bigpanda.com

On Tue, 29 Aug 2000 pgsql-bugs@postgresql.org wrote:

> andrew brown (andy75@hotmail.com) reports a bug with a severity of 3
> The lower the number the more severe it is.
>
> Short Description
> table aliases with updates
>
> Long Description
> It appears that table aliases cannot be used in update queries for the table we are updating.
>
> Sample Code
> This doesn't work:
>
> update table1 t1 set value1 = (select value1 from table2 t2 where t2.value2 = t1.value2)
>
> But this does:
>
> update table1 set value1 = (select value1 from table2 t2 where t2.value2 = table1.value2)