sql >> Base de Datos >  >> RDS >> Oracle

Oracle SQL:cómo usar más de 1000 elementos dentro de una cláusula IN

La forma recomendada de manejar esto en Oracle es crear una tabla temporal, escribir los valores en ella y luego unirse a ella. Uso de IN creado dinámicamente cláusulas significa que el optimizador de consultas realiza un "análisis duro" 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)