2011-07-29 80 views
0

結合這三個查詢在一行我有這些Postgres的SQL中,是在某些while環之間:Postgres裏

while (.......) { 
... 
$runStatement = 'update products set abc = "'.data[0].'" where abc = "'.data[1].'";'; 
... 
} 

while (.......) { 
... 
$runStatement = 'update products set xyz = "'.data[0].'" where xyz = "'.data[1].'";'; 
... 
} 

while (.......) { 
... 
$runStatement = 'update extra_products set abc = "'.data[0].'" where abc = "'.data[1].'";'; 
... 
} 

,其中每個循環,data實際上是從相同的陣列讀取。

謝謝。

回答

0

將它們之間的語句用分號連接起來,並在一次調用數據庫時運行它們。

0

你不需要循環。您可以在更新中執行JOIN,第一個表用於實例產品,第二個表是VALUES(舊的,新的),(舊的,新的)等等的長列表。這允許在一個命令中更新許多行而且速度要快得多。