PSQL批量更新声明

时间:2014-03-06 17:44:53

标签: sql-update psql

我正在尝试更新psql数据库中的一堆行,并且如果可能的话,我希望在一个生成的sql语句中执行此操作。我能够生成类似于这样的批处理插入语句:

INSERT INTO my_table (col1, col2, col3) 
VALUES (v11, v12, v13), (v21, v22, v23), ...

但是我不知道如何使用更新语句来执行此操作。我可以为我想要更新的每一行做一个SQL语句,但这似乎是不必要的,只比只有一个语句慢

P.S。所有行都有一个id列,所以我可以通过

引用它们

1 个答案:

答案 0 :(得分:0)

Near Bottom of Page

我能够在上面的链接中找到答案。看起来类似于

UPDATE my_table 
   SET x = case 
             when y = '1' then '1.1'
             when y = '2' then '1.2'
           end
WHERE y='1' OR y='2';