PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Utilizzare JOOQ per eseguire un'eliminazione specificando più colonne in una clausola non in

La tua richiesta può essere tradotta nel seguente codice jOOQ:

// Assuming this:
import static org.jooq.impl.DSL.*;

using(configuration)
   .deleteFrom(MY_TABLE)
   .where(row(MY_TABLE.FIRST, MY_TABLE.LAST).notIn(
        row("Joe", "Smith"),
        row("Mark", "Taylor")
   ))
   .execute();

Questo sta usando DSL.row() per costruire espressioni di valori di riga. Nota che ROW è una parola chiave opzionale in PostgreSQL. Ti è capitato di ometterlo nel tuo esempio SQL.

Vedi anche la sezione del manuale relativa a IN predicato per gradi> 1:

http://www .jooq.org/doc/latest/manual/sql-building/conditional-expressions/in-predicate-degree-n