Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle SQL:Verwendung von mehr als 1000 Elementen in einer IN-Klausel

Die empfohlene Methode, dies in Oracle zu handhaben, besteht darin, eine temporäre Tabelle zu erstellen, die Werte in diese zu schreiben und diese dann zu verknüpfen. Verwenden von dynamisch erstelltem IN -Klauseln bedeutet, dass der Abfrageoptimierer jede Abfrage „hart analysiert“.

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)