Za předpokladu, že se nebojíte explicitně odkazovat na schéma SYS, existuje několik. Zde jsou některé, které používám poměrně často (dobře odcivarchar2list
ne tolik, protože to zabírá spoustu paměti:pro řetězce preferuji dbms_debug_vc2coll
).
SQL> desc sys.odcinumberlist
sys.odcinumberlist VARRAY(32767) OF NUMBER
SQL> desc sys.odcivarchar2list
sys.odcivarchar2list VARRAY(32767) OF VARCHAR2(4000)
SQL> desc sys.ODCIDATELIST
sys.ODCIDATELIST VARRAY(32767) OF DATE
SQL> desc sys.dbms_debug_vc2coll
sys.dbms_debug_vc2coll TABLE OF VARCHAR2(1000)
SQL>
Pokud to však pro vaše potřeby nestačí, spusťte tento dotaz a najděte další:
select type_name
, owner
from all_types
where typecode = 'COLLECTION'
and owner != user
/
Tento výsledek se bude samozřejmě lišit databázi od databáze. Například mnoho sbírek v mé databázi vlastní XDB a ne každý systém to bude mít nainstalováno. Čtyři, které jsem uvedl na začátku této odpovědi, by měly být k dispozici v každé databázi od 9iR2 (a možná brzy), i když nejsou vždy zdokumentovány v dřívějších verzích.
"Všimněte si, že ALL_COLL_TYPES se zdá být ještě lepším slovníkovým zobrazením pro nalezení vhodných typů"
To je dobrý postřeh. Můžeme také filtrovat podle COLL_TYPE, abychom vyloučili VARRAY. Tento pohled byl zaveden do 10g, zatímco ALL_TYPES byl dostupný na 9i. Stejně jako u většiny věcí Oracle platí, že čím novější verze, tím více funkcí má.