我们如何在JOOQ中使用@variable? [英] How can we have @variable in JOOQ?
问题描述
我正在尝试实现类似以下Jooq中的MySql查询的内容:
I am trying to achieve something similar like the below MySql query in Jooq:
Select
CASE WHEN (datecolumn IS NULL)
THEN (@outerval:=@outerval+1)
ELSE (@outerval) END AS consec_set
From some_table;
我们如何在JOOQ中使用@variable?
How can we have @variable in JOOQ ?
注意:我知道JOOQ中CASE WHEN的等效项,但只想知道@variable.
Note: I am aware the equivalent for CASE WHEN in JOOQ but just want to know the @variable.
Jooq版本:3.0.1
Jooq Version :3.0.1
推荐答案
jOOQ 3.0当前不支持此功能.我已经为此注册了功能请求: https://github.com/jOOQ/jOOQ/issues/2558
This is currently not supported in jOOQ 3.0. I have registered a feature request for this: https://github.com/jOOQ/jOOQ/issues/2558
我不确定真的可以通过一种有用的方式将多少变量支持真正添加到jOOQ中.但是无论如何,您始终可以使用普通的SQL:
I'm not sure how much support for variables can really be added to jOOQ in a useful way. But in any case, you can always resort to plain SQL:
Field<Integer> f1 = DSL.field("@outerval:=@outerval+1", Integer.class);
Field<Integer> f2 = DSL.field("@outerval", Integer.class);
这篇关于我们如何在JOOQ中使用@variable?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!