sql >> Database >  >> RDS >> PostgreSQL

geef een onbekend aantal parameters door aan de IN-clausule met behulp van JDBC en Postgres

Je zou een samengesteld type kunnen maken zoals

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

Dan zou je de vraag als volgt kunnen schrijven:

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

Je zou de array leveren als een enkele string die eruitziet als

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

= ANY doet hetzelfde als IN , maar het kan worden gebruikt met een array aan de rechterkant.



  1. Waarom slaagt deze SQL-injectie, ook al produceert de SQL-instructie een syntaxisfout?

  2. Een array gebruiken in een SQL-query

  3. Grondbeginselen van tabeluitdrukkingen, deel 13 - Inline tabelgewaardeerde functies, vervolg

  4. het automatiseren van rollback script oracle