Doporučený způsob, jak to v Oracle zvládnout, je vytvořit dočasnou tabulku, zapsat do ní hodnoty a pak se k ní připojit. Pomocí dynamicky vytvořeného IN
klauzule znamená, že optimalizátor dotazů provádí „tvrdou analýzu“ každého dotazu.
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)