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

passar um número desconhecido de parâmetros para a cláusula IN usando JDBC e Postgres


Você pode criar um tipo composto como
CREATE TYPE triple AS (
   a smallint,
   b integer,
   c integer
);

Então você poderia escrever a consulta assim:
SELECT * 
FROM t 
WHERE (t.one, t.two, t.three) = ANY (?::triple[]);

Você forneceria a matriz como uma única string que se parece com
{(11\,12\,13), (21\,22\,23)}

= ANY faz o mesmo que IN , mas pode ser usado com um array no lado direito.