mehrere updates in einer zeile

die frage mag blöd erscheinen:
ich würde gerne mehrere konditionale updates in einer zeile abfeiern, also

update test set col1=1000 where col2=1;
update test set col1=2000 where col2=0;

in einer zeile zusammenfassen - geht das?

tom



test=# select * from bla;
 id | val
----+-----
  1 |   1
  2 |   1
(2 rows)

Time: 1.005 ms
test=*# update bla set val = (case when id=1 then 10 when id=2 then 20 end);
UPDATE 2
Time: 1.947 ms
test=*# select * from bla;
 id | val
----+-----
  1 |  10
  2 |  20
(2 rows)

Time: 0.919 ms
test=*#

Andreas