【问题标题】:SQL Update case clause support by jOOQjOOQ 支持 SQL 更新 case 子句
【发布时间】:2021-05-24 21:11:51
【问题描述】:

jOOQ库的SQL更新语句中是否支持case子句? https://www.jooq.org/ 我的意思是相当于

UPDATE TABLE1 SET status = case 
            when status = 'status1' then 'status2'
            when status = 'status2' then 'status3'
            end

我在他们的教程中看到了 select 语句的示例,但不幸的是没有更新。会不会是这样的?

DSL.update(DSL.table("table1")).set(DSL.field("status"), DSL.case(...))

【问题讨论】:

    标签: case jooq


    【解决方案1】:

    幸运的是,对于任意 column expressions 的处理方式,jOOQ 中的 SELECTUPDATE 语句支持没有区别。因此,您只需在声明中使用CASE expression support

    您可以直接使用DSL.case_()DSL.when() 创建CASE 表达式。

    【讨论】:

      猜你喜欢
      • 2011-07-26
      • 2014-05-30
      • 2022-01-12
      • 2013-11-08
      • 2016-11-29
      • 1970-01-01
      • 2015-10-23
      • 2012-09-17
      • 1970-01-01
      相关资源
      最近更新 更多