如何在Jooq中编写不返回的PostgreSQL CTE

6mzjoqzu  于 2024-01-07  发布在  PostgreSQL
关注(0)|答案(1)|浏览(192)

在Jooq中,我可以使用DSL#name(...)方法来编写CTE,包括具有RETURNING子句的UPDATE/UPDATE查询
例如

name("my_cte").as(
    update(MY_TABLE)
        // ...
    .returning(MY_TABLE.ID)
)

字符串
但是如果我删除.returning(...)部分,
有办法解决吗?

j1dl9f46

j1dl9f461#

这在jOOQ中是不可能的。您必须为在CTE中可用的DML语句提供RETURNING子句。您可以尝试为此创建一个特性请求,但我不认为这会被优先考虑。这种方法的实用性似乎可以忽略不计,与使用存储过程的更干净的方法相比,可以用原生PL/pgSQL编写,也可以用jOOQ的procedural language support编写。

相关问题