Es gibt viele Arten von integrierten öffentlichen Sammlungen. Sie können eine davon wie folgt nutzen:
with ids as (select /*+ cardinality(a, 1) */ column_value id
from table(UTL_NLA_ARRAY_INT(100, 200, 300)) a
)
select ids.id, case when m.id is null then '**NO MATCH**' else m.value end value
from ids
left outer join my_table m
on m.id = ids.id;
Um eine Liste öffentlicher Typen in Ihrer Datenbank anzuzeigen, führen Sie :
ausselect owner, type_name, coll_type, elem_type_name, upper_bound, precision, scale from all_coll_types
where elem_type_name in ('FLOAT', 'INTEGER', 'NUMBER', 'DOUBLE PRECISION')
der Hinweis
/*+ cardinality(a, 1) */
wird nur verwendet, um Oracle mitzuteilen, wie viele Elemente sich in unserem Array befinden (wenn nicht angegeben, wird standardmäßig von 8k Elementen ausgegangen). Stellen Sie einfach eine einigermaßen genaue Zahl ein.