gpt4 book ai didi

java - 组织.jooq.impl.ParserException : Token ')' expected: [1:11] select (@i[*]:=@i+1)

转载 作者:行者123 更新时间:2023-11-29 07:18:11 25 4
gpt4 key购买 nike

如何解决这个问题?谢谢!

ResultQuery<?> query2 = create
.parser()
.parseResultQuery("select (@i:=@i+1)");

最佳答案

jOOQ 还不支持MySQL 的SQL 变量。相关功能请求在这里:https://github.com/jOOQ/jOOQ/issues/2558

在普通的 jOOQ API 用法中,您将求助于使用 plain SQL templating ,但目前在使用解析器时没有解决方法。我已经创建了一个功能请求来实现这样的变通语法:https://github.com/jOOQ/jOOQ/issues/9260它可能类似于:

select /* [jooq field start] */ @i := @i + 1 /* [jooq field stop] */

从 jOOQ 3.12 开始,jOOQ 支持 procedural languages许多 RDBMS,包括 MySQL。您仍然不能使用 jOOQ 从 SQL 语句中操作变量,但您可以使用 imperative style variable assignment这里:

i.set(i.plus(1))

请注意,在许多情况下,从 MySQL 8 的 window function support 开始,不再需要在纯 SQL 中使用这种供应商特定的、非严格声明式编程风格的语法。

关于java - 组织.jooq.impl.ParserException : Token ')' expected: [1:11] select (@i[*]:=@i+1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58059409/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com