Re: correlated multi-set update?

Поиск
Список
Период
Сортировка
От Bruno Wolff III
Тема Re: correlated multi-set update?
Дата
Msg-id 20040310045209.GC31629@wolff.to
обсуждение исходный текст
Ответ на correlated multi-set update?  (Marty Scholes <marty@outputservices.com>)
Список pgsql-sql
On Tue, Mar 09, 2004 at 14:48:57 -0700, Marty Scholes <marty@outputservices.com> wrote:
> 
> While I like a lot of the features of Pg, one thing I noticed that 
> "seems" to be missing is the ability to set multiple fields in an update 
> using a correlated subquery.

You can't set more than one column in one phrase, so you need to use
something like you tried next.
> 
> Next I tried:
> 
> UPDATE foo f

I don't believe you can use an alias on the update table. If you change
this and use foo instead of f in the subselects, then the update should
do what you want.

However it may be more efficient to use a FROM clause and do something
like:

UPDATE foo SET f1 = b.f1,   f2 = b.f2,   f3 = b.f3,   f4 = b.f4,   f5 = b.f5 FROM bar as b WHERE   foo.pk = b.pk AND
f.pkIN (     SELECT l.pk     FROM keylist l   );
 


В списке pgsql-sql по дате отправления:

Предыдущее
От: azwa@nc.com.my
Дата:
Сообщение: pg_hba.conf
Следующее
От: azwa@nc.com.my
Дата:
Сообщение: Re: pg_hba.conf