PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

UPSERT dans PostgreSQL en utilisant jOOQ

jOOQ 3.7+ prend en charge le ON CONFLICT de PostgreSQL 9.5 clause :

La syntaxe complète spécifique au fournisseur PostgreSQL n'est pas encore prise en charge, mais vous pouvez utiliser la syntaxe MySQL ou H2, qui peuvent toutes deux être émulées à l'aide de ON CONFLICT de 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();