Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle SQL:Como usar mais de 1000 itens dentro de uma cláusula IN


A maneira recomendada de lidar com isso no Oracle é criar uma Tabela Temporária, gravar os valores nela e depois juntar-se a ela. Usando IN criado dinamicamente cláusulas significa que o otimizador de consulta faz uma 'análise rígida' de cada consulta.
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)