2011-07-29 120 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(旧的,新的),(旧的,新的)等等的长列表。这允许在一个命令中更新许多行而且速度要快得多。