Обновить данными из другой Т

Олег_s
Дата: 11.11.2008 13:55:29
Доброго systime, камрады!

Имею вот такой запрос

update T1 set
V1 = (select SOME111 from T2 where T2.ID = SOMEID)
,V2 = (select III from T2 where T2.ID = SOMEID)
,V3 = (select AAA from T2 where T2.ID = SOMEID)
,V4 = (select BVB from T2 where T2.ID = SOMEID)
... еще пара десятков значений
where
ID = SOMEID2

мне кто кажется несколько кривым, нельзя ли сделать как то покрасивее чтоли (ну и попроизводительнее). Вот то, что кучу раз вызывается запрос блаблабла from T2 мне не нравится совсем, ID - Primary Key, для обеих таблиц.

что посоветуете?

с уважением.
Олег_s
Дата: 11.11.2008 14:02:48
да, запись из T1 с ID-шником SOMEID2 точно есть.

P.S. sysdate конечно я имел ввиду :)
dimacrat
Дата: 11.11.2008 14:03:21
Олег_s,
update T1 set
(V1,V2,V3,V4) = (select SOME111,III,AAA,BVB from T2 where T2.ID = SOMEID)
where
ID = SOMEID2
A.K.
Дата: 11.11.2008 14:04:38
Oracle поддерживает синтаксис подобного рода:
update T1 
set (V1,V2,V3,...)  = (select SOME111, III, AAA, ... from T2 where T2.ID = SOMEID)
where ID = SOMEID2
Олег_s
Дата: 11.11.2008 14:08:36
dimacrat, A.K. , большое вам спасибо!