加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用PostgreSQL在同一查询中更新多个行

发布时间:2020-12-13 16:53:00 所属栏目:百科 来源:网络整理
导读:我想在一个语句中更新PostgreSQL中的多行。有办法做一些像下面的事情吗? UPDATE table SET column_a = 1 where column_b = '123',column_a = 2 where column_b = '345' 您还可以使用语法中的update …并使用映射表。如果你想更新多个列,它是更可通用: upd
我想在一个语句中更新PostgreSQL中的多行。有办法做一些像下面的事情吗?
UPDATE table 
SET 
 column_a = 1 where column_b = '123',column_a = 2 where column_b = '345'
您还可以使用语法中的update …并使用映射表。如果你想更新多个列,它是更可通用:
update test as t set
    column_a = c.column_a
from (values
    ('123',1),('345',2)  
) as c(column_b,column_a) 
where c.column_b = t.column_b;

您可以根据需要添加任意数量的列:

update test as t set
    column_a = c.column_a,column_c = c.column_c
from (values
    ('123',1,'---'),2,'+++')  
) as c(column_b,column_a,column_c) 
where c.column_b = t.column_b;

sql fiddle demo

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读