Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle SQL :Comment utiliser plus de 1000 éléments dans une clause IN

La méthode recommandée pour gérer cela dans Oracle consiste à créer une table temporaire, à y écrire les valeurs, puis à la joindre. Utilisation de IN créé dynamiquement clauses signifie que l'optimiseur de requête effectue une "analyse approfondie" de chaque requête.

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)