PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

UPSERT no PostgreSQL usando jOOQ


jOOQ 3.7+ suporta o ON CONFLICT do PostgreSQL 9.5 cláusula:

A sintaxe completa específica do fornecedor do PostgreSQL ainda não é suportada, mas você pode usar a sintaxe MySQL ou H2, que podem ser emuladas usando ON CONFLICT do 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();