sql >> Base de Datos >  >> RDS >> PostgreSQL

pasar un número desconocido de parámetros a la cláusula IN usando JDBC y Postgres

Podrías crear un tipo compuesto como

CREATE TYPE triple AS (
   a smallint,
   b integer,
   c integer
);

Entonces podrías escribir la consulta así:

SELECT * 
FROM t 
WHERE (t.one, t.two, t.three) = ANY (?::triple[]);

Proporcionaría la matriz como una sola cadena que se parece a

{(11\,12\,13), (21\,22\,23)}

= ANY hace lo mismo que IN , pero se puede usar con una matriz en el lado derecho.