Du kan skapa en sammansatt typ som
CREATE TYPE triple AS (
a smallint,
b integer,
c integer
);
Sedan kan du skriva frågan så här:
SELECT *
FROM t
WHERE (t.one, t.two, t.three) = ANY (?::triple[]);
Du skulle tillhandahålla arrayen som en enda sträng som ser ut som
{(11\,12\,13), (21\,22\,23)}
= ANY
gör samma sak som IN
, men den kan användas med en array på höger sida.