【发布时间】:2015-06-16 16:03:42
【问题描述】:
我正在尝试在 jOOQ 中为 Postgres 做一个 upsert 风格的声明。我正在运行的框架会处理这种特定情况下的并发问题,所以我并不担心。我只使用 jOOQ 来创建 SQL,实际执行是通过 Spring 的 JdbcTemplate 和 BeanPropertySqlParameterSource 完成的。
我决定采用两步“插入..不存在的地方”/“更新..”过程。
我的 SQL 是:
insert into mytable (my_id, col1, col2) select :myId,
:firstCol, :secondCol where not exists (select 1
from mytable where my_id = :myId)
我正在使用 Postgres 9.4、jOOQ 3.5。我不确定如何表达 select 中的 jOOQ 参数和 jOOQ 中的“where not exists”子句。
在我的情况下,更改编程语言或数据库的建议不可行。
【问题讨论】:
-
so ...“如何在 SQL 语句(在 JOOQ 中)中使用多个位置的单个查询参数”?
标签: postgresql jooq