Oracle
 sql >> Database >  >> RDS >> Oracle

Oracle SQL:come utilizzare più di 1000 elementi all'interno di una clausola IN

Il modo consigliato per gestirlo in Oracle è creare una tabella temporanea, scrivere i valori in questa e quindi unirti a questa. Utilizzando IN creato dinamicamente clausole significa che Query Optimizer esegue un'"analisi approfondita" di ogni query.

create global temporary table LOOKUP
(
    ID NUMBER
) on commit delete rows;

-- Do a batch insert from your application to populate this table
insert into lookup(id) values (?)

-- join to it
select foo from bar where code in (select id from lookup)