首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >postrgresql -在一个查询中合并多个更新

postrgresql -在一个查询中合并多个更新
EN

Stack Overflow用户
提问于 2018-01-31 05:22:59
回答 1查看 28关注 0票数 1

我有以下两个更新查询:

代码语言:javascript
运行
AI代码解释
复制
update nodes set path = 'A.S' || 
case 
    when nlevel(path) > nlevel('A.C') then subpath(path, nlevel('A.C'))
    when nlevel(path) = nlevel('A.C') then ''
end
where path <@ 'A.C'



update nodes set id = 'A.S' where id = 'A.C'

如果我可以将这个多个更新合并成一个类似的方法,那就太完美了:

代码语言:javascript
运行
AI代码解释
复制
update nodes set path = 'A.S' || 
case 
    when nlevel(path) > nlevel('A.C') then subpath(path, nlevel('A.C'))
    when nlevel(path) = nlevel('A.C') then ''
end
where path <@ 'A.C'

and

update nodes set id = 'A.S' where id = 'A.C'

我在寻找一种可能性,却找不到,

真的有可能吗?

如果能帮忙的话,谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-31 05:29:22

小象:

代码语言:javascript
运行
AI代码解释
复制
update nodes 
  set path = 'A.S' || 
    case 
        when path <@ 'A.C' and nlevel(path) > nlevel('A.C') then subpath(path, nlevel('A.C'))
        when path <@ 'A.C' and nlevel(path) = nlevel('A.C') then ''
    else 
      path
    end
  , id = case when id = 'A.C' then 'A.S' else id end 
where path <@ 'A.C' or id = 'A.C'

在事务中尝试-我没有测试它!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48543255

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文