sql >> Databáze >  >> RDS >> PostgreSQL

UPSERT v PostgreSQL pomocí jOOQ

jOOQ 3.7+ podporuje PostgreSQL 9.5 ON CONFLICT klauzule:

Plná syntaxe PostgreSQL specifická pro dodavatele zatím není podporována, ale můžete použít syntaxi MySQL nebo H2, které lze obě emulovat pomocí ON CONFLICT 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();


  1. Nelze načíst ovladač QMYSQL na PySide2

  2. Funkce MAX() v MariaDB

  3. Nelze načíst soubor nebo sestavení 'Oracle.DataAccess, Version=4.112.4.0, Culture=neutral, PublicKeyToken=89b483f429c47342'

  4. Odečítání v příkazu SQL