我们如何在JOOQ中使用@variable? [英] How can we have @variable in JOOQ?

查看:56
本文介绍了我们如何在JOOQ中使用@variable?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试实现类似以下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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆