sql >> Databasteknik >  >> RDS >> PostgreSQL

jOOQ infoga i .. där det inte finns för Postgres

Om du vill återanvända en namngiven parameter i jOOQ skapar du helst AST-elementet utanför frågan, som sådan:

// Assuming a static import
import static org.jooq.impl.DSL.*;

Param<Integer> myId = param("myId", Integer.class);

Du kan sedan använda det flera gånger i din fråga:

using(configuration)
  .insertInto(MY_TABLE, MY_TABLE.MY_ID, MY_TABLE.COL1, MY_TABLE.COL2)
  .select(
     select(
        myId, 
        param("firstCol", MY_TABLE.COL1.getType()),
        param("secondCol", MY_TABLE.COL2.getType())
     )
     .whereNotExists(
        selectOne()
        .from(MY_TABLE)
        .where(MY_TABLE.MY_ID.eq(myId))
     )
  );



  1. Postgres psql utdatasträngar utan escape-tecken

  2. Ett nätverksrelaterat eller instansspecifikt fel inträffade när en anslutning till SQL Server upprättades

  3. Flytta data från Oracle till HDFS, bearbeta och flytta till Teradata från HDFS

  4. kan inte ansluta till mysql docker från lokalt