De aanbevolen manier om dit in Oracle af te handelen, is door een tijdelijke tabel te maken, de waarden hierin te schrijven en vervolgens hieraan deel te nemen. Dynamisch aangemaakte IN
. gebruiken clausules betekent dat de query-optimizer een 'harde analyse' van elke query uitvoert.
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)