jOOQ 3.7+ hỗ trợ ON CONFLICT
của PostgreSQL 9.5 mệnh đề:
- https://github.com/jOOQ/jOOQ/issues/4299
- http://www.postgresql.org/docs/ 9.5 / static / sql-insert.html
Cú pháp đầy đủ dành riêng cho nhà cung cấp PostgreSQL chưa được hỗ trợ, nhưng bạn có thể sử dụng cú pháp MySQL hoặc H2, cả hai đều có thể được mô phỏng bằng cách sử dụng ON CONFLICT
của PostgreSQL :
MySQL INSERT .. ON DUPLICATE KEY UPDATE
:
DSL.using(configuration)
.insertInto(TABLE)
.columns(ID, A, B)
.values(1, "a", "b")
.onDuplicateKeyUpdate()
.set(A, "a")
.set(B, "b")
.execute();
H2 MERGE INTO ..
DSL.using(configuration)
.mergeInto(TABLE, A, B, C)
.values(1, "a", "b")
.execute();