对于循环postgreSQL似乎没有正常工作

时间:2016-02-01 08:38:48

标签: sql postgresql loops for-loop

我目前正在做一项庞大的手工工作,我可以用一个简单的for循环来解决。

这是我的问题:

FOR i IN 317..349 LOOP
   update ville
   set ville.id_de = i from ville, departement where ville.nom_dep_vi = departement.nom_de AND i = departement.id_de;
END LOOP;

以下是官方PostgreSQL的语法:

FOR i IN 1..10 LOOP
-- i will take on the values 1,2,3,4,5,6,7,8,9,10 within the loop
END LOOP;

我总是收到错误说"查询失败 PostgreSQL说:语法错误在或附近" i""。如果有人可以提供帮助,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

不需要循环,只需使用一个更新语句:

update ville
  set ville.id_de = departement.id_de
from departement -- do NOT repeat ville here!
where ville.nom_dep_vi = departement.nom_de 
  AND departement.id_de between 317 and 349