【问题标题】:How can we have @variable in JOOQ?我们如何在 JOOQ 中拥有 @variable?
【发布时间】:2013-06-23 12:21:09
【问题描述】:

我正在尝试在 Jooq 中实现类似于以下 MySql 查询的功能:

Select 
 CASE WHEN (datecolumn IS NULL) 
 THEN (@outerval:=@outerval+1) 
 ELSE (@outerval) END AS consec_set
From some_table;

我们如何在 JOOQ 中拥有@variable?

注意:我知道 JOOQ 中 CASE WHEN 的等价物,但只想知道 @variable。

Jooq 版本:3.0.1

【问题讨论】:

    标签: java variables jooq


    【解决方案1】:

    jOOQ 3.0 目前不支持此功能。我已经为此注册了一个功能请求: https://github.com/jOOQ/jOOQ/issues/2558

    我不确定有多少对变量的支持可以真正以有用的方式添加到 jOOQ。但无论如何,您总是可以使用纯 SQL:

    Field<Integer> f1 = DSL.field("@outerval:=@outerval+1", Integer.class);
    Field<Integer> f2 = DSL.field("@outerval", Integer.class);
    

    【讨论】:

    • 感谢 Lukas,希望我们能在近期功能中获得 Jooq 的支持。
    • @SyedShahul:你和Venkat在一起?我相信我们会找到解决办法的。但是,这样的讨论可能与 Stack Overflow 无关
    猜你喜欢
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多