在Jooq中,我可以使用DSL#name(...)方法来编写CTE,包括具有RETURNING子句的UPDATE/UPDATE查询例如
DSL#name(...)
RETURNING
name("my_cte").as( update(MY_TABLE) // ... .returning(MY_TABLE.ID) )
字符串但是如果我删除.returning(...)部分,有办法解决吗?
.returning(...)
j1dl9f461#
这在jOOQ中是不可能的。您必须为在CTE中可用的DML语句提供RETURNING子句。您可以尝试为此创建一个特性请求,但我不认为这会被优先考虑。这种方法的实用性似乎可以忽略不计,与使用存储过程的更干净的方法相比,可以用原生PL/pgSQL编写,也可以用jOOQ的procedural language support编写。
1条答案
按热度按时间j1dl9f461#
这在jOOQ中是不可能的。您必须为在CTE中可用的DML语句提供
RETURNING
子句。您可以尝试为此创建一个特性请求,但我不认为这会被优先考虑。这种方法的实用性似乎可以忽略不计,与使用存储过程的更干净的方法相比,可以用原生PL/pgSQL编写,也可以用jOOQ的procedural language support编写。