Vous pouvez créer un type composite comme
CREATE TYPE triple AS (
a smallint,
b integer,
c integer
);
Ensuite, vous pouvez écrire la requête comme ceci :
SELECT *
FROM t
WHERE (t.one, t.two, t.three) = ANY (?::triple[]);
Vous fourniriez le tableau sous la forme d'une chaîne unique qui ressemble à
{(11\,12\,13), (21\,22\,23)}
= ANY
fait la même chose que IN
, mais il peut être utilisé avec un tableau sur le côté droit.