python批量更新表

时间:2014-02-12 13:17:40

标签: python sql postgresql

我有一个python字典“人员”填充了对PostgreSQL的查询。我做了一些不需要与数据库进行任何交互的处理。所以代码

for person in persons:
    process

根据流程的成功/失败,我将为字典中的每条记录设置一个标志。一旦该过程结束,我想用字典中的数据更新表。是否可以在没有循环/迭代的情况下执行此操作?现在我正在循环中进行更新。当列表很大时,涉及太多的数据库调用。

1 个答案:

答案 0 :(得分:0)

,如果您可以将查询复合到大型查询字符串中,例如:

sql = """ 
   BEGIN;
   UPDATE table SET field = value1 WHERE id = 1;
   UPDATE table SET field = value2 WHERE id = 2;
   ...
   UPDATE table SET field = valueN WHERE id = N;
   END;
"""

您将能够执行一个事务查询以生成多个UPDATE查询。