सार्वजनिक संग्रह प्रकारों में कई निर्मित हैं। आप उनमें से किसी एक का इस तरह लाभ उठा सकते हैं:
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;
अपने DB पर सार्वजनिक प्रकारों की सूची देखने के लिए दौड़ें:
select 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')
संकेत
/*+ cardinality(a, 1) */
केवल ऑरैकल को यह बताने के लिए उपयोग किया जाता है कि हमारे सरणी में कितने तत्व हैं (यदि निर्दिष्ट नहीं है, तो डिफ़ॉल्ट 8k तत्वों की धारणा होगी)। बस एक उचित सटीक संख्या पर सेट करें।