Den anbefalede måde at håndtere dette på i Oracle er at oprette en midlertidig tabel, skrive værdierne ind i denne og derefter tilslutte sig denne. Bruger dynamisk oprettet IN
klausuler betyder, at forespørgselsoptimeringsværktøjet udfører en 'hard parse' af hver forespørgsel.
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)