PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

предаване на неизвестен брой параметри на клауза IN с помощта на JDBC и Postgres

Можете да създадете съставен тип като

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

Тогава можете да напишете заявката така:

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

Ще предоставите масива като единичен низ, който изглежда като

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

= ANY прави същото като IN , но може да се използва с масив от дясната страна.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвам uuid с тип индекс на postgresql gist?

  2. Заявката по координати отнема твърде много време - опции за оптимизиране?

  3. Събирайте рекурсивни JSON ключове в Postgres

  4. libpq:Как да получите кода за грешка след неуспешна PGconn връзка

  5. PostreSQL 10 не успява да стартира на Ubuntu 18.04, работещ на Windows подсистема за Linux