根据http://www.jooq.org/doc/3.8/manual/sql-building/sql-statements/update-statement/,jOOQ不支持除Firebird和Postgres之外的所有数据库的UPDATE语句中的返回子句。
有谁知道,对于拥有jOOQ的Oracle,这仍然是正确的吗?根据Oracle的文档,Oracle DB完全支持返回DELETE,INSERT或UPDATE语句的clase。
答案 0 :(得分:1)
你是对的 - 手册错了,应该修理:
https://github.com/jOOQ/jOOQ/issues/5470
UPDATE RETURNING
jOOQ 3.8增加了对单行UPDATE .. RETURNING
语句的支持。在内部,它使用CallableStatement
和形式为的PL / SQL块:
begin
update "MY_TABLE"
set "MY_TABLE"."COLUMN" = 'XYZ'
where "MY_TABLE"."ID" = 1
returning
"MY_TABLE"."ID",
"MY_TABLE"."COLUMN"
into ?, ?;
? := sql%rowcount;
end;
相关问题是:
https://github.com/jOOQ/jOOQ/issues/5190
UPDATE RETURNING
自jOOQ 3.8起,尚未支持多行UPDATE .. RETURNING
语句:
https://github.com/jOOQ/jOOQ/issues/5191