| From: | Barry Lind <barry(at)xythos(dot)com> |
|---|---|
| To: | pgsql-sql(at)postgresql(dot)org |
| Subject: | Re: Something I'd like to try... |
| Date: | 2000-10-03 17:38:50 |
| Message-ID: | 39DA19AA.9C87067A@xythos.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-sql |
It is interesting that this should come up now. Just last week I was
trying to port a SQL statement from Oracle to Postgresql that used table
aliases in an update statement. While I can see that this functionality
wouldn't be used very often it can be very useful under certain
circumstances.
I have a table that stores a hierarchy. Sometimes in an update I want
to join back to the same table to get other information related to
children or parent rows. In Oracle I can do this using the alias, but
in Postgresql I cannot.
Consider the SQL statements below as simplistic examples of what I was
doing in Oracle:
table_foo
foo_id int
parent_foo_id int
column_a int
column_b int
update table_foo f1
set column_a = (select sum(column_a) from table_foo f2
where f2.parent_foo_id = f1.foo_id);
update table_foo f1
set column_b = 1
where exists (select column_a from table_foo f2
where f2.parent_foo_id = f1.foo_id);
thanks,
--Barry
Tom Lane wrote:
>
> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
> > Can someone comment on this?
> >>
> >> I just noticed that postgres doesn't totally support
> >> column aliases on UPDATE statements, for example
>
> The SQL92 spec very clearly does not allow an alias on the target table:
>
> 13.10 <update statement: searched>
>
> <update statement: searched> ::=
> UPDATE <table name>
> SET <set clause list>
> [ WHERE <search condition> ]
>
> While I'm willing to consider variations from the spec that add
> significant functionality, this proposed addition adds no functionality
> worth noticing. It'd just be another way to trip yourself up when
> moving across DBMSes.
>
> regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2000-10-03 19:03:41 | Re: Something I'd like to try... |
| Previous Message | Michael Ansley | 2000-10-03 16:54:17 | RE: OID Perfomance - Object-Relational databases |