2014-10-16 62 views
0

我有COLS A和B以及以下值如何使用SQL函數計算的新值更新sql表列?

A B 
1 0 
1 0 
2 0 
2 0 
3 0 
4 0 

我想與服用柱A爲參數的函數theFunc(A)來更新列B中的一個表的表。有很多行,因此需要花費很長的時間,如果我使用像

更新表 SET B = theFunc(A)

查詢我相信,如果我計算所有的值,每一個獨特的山坳值,則將這些映射到相關行,它將更快,而不是每行的計算。我怎麼能在SQL中做到這一點?

+2

只是讓它在一個臨時表中,然後用臨時表更新另一個表 – 2014-10-16 16:32:11

回答

0
update tab t1 set t1.B = (select t2.C from (select theFunc(A) C from tab group by A) t2 where t2.C = t1.A);