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

Use JOOQ para fazer uma exclusão especificando várias colunas em uma cláusula not in


Sua consulta pode ser traduzida para o seguinte código 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();

Isso está usando DSL.row() para construir expressões de valor de linha. Observe que ROW é uma palavra-chave opcional no PostgreSQL. Você acabou de omitir no seu exemplo SQL.

Veja também a seção do manual sobre o IN predicado para graus> 1:

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