繁体   English   中英

jOOQ在更新时添加当前值

[英]jOOQ add to current value on update

我有一个列,其中包含已发生事件的运行计数。 我想通过jOOQ更新执行与以下SQL语句等效的操作:

update event_table set event_count = event_count + 3;

3是artibrary,它将是一个int表示在我的Java程序中检测到的当前计数。

有没有办法在没有选择一个jOOQ中的值选择然后在另一个jOOQ更新中求和,导致两个数据库交互?

每个SQL语句都可以直接转换为jOOQ语句。 在jOOQ中使用UPDATE语句支持。 https://www.jooq.org/doc/latest/manual/sql-building/sql-statements/update-statement

特别:

DSLContext ctx = ...

ctx.update(EVENT_TABLE)
   .set(EVENT_COUNT, EVENT_COUNT.plus(3))
   .execute();

一般的经验法则是:

  • 所有函数(例如fn(a, b) )都可以从DSL类中获得,如DSL.fn(a, b)
  • 所有中缀运算符(例如a op b )都可以从Field类型中获得a.op(b)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM