Forudsat at du ikke er bange for eksplicit at henvise til SYS-skemaet, er der nogle få. Her er nogle jeg bruger ret ofte (godt odcivarchar2list
ikke så meget, da det tygger meget hukommelse op:for strenge foretrækker jeg 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>
Men hvis disse ikke er tilstrækkelige til dine behov, kør denne forespørgsel for at finde nogle flere:
select type_name
, owner
from all_types
where typecode = 'COLLECTION'
and owner != user
/
Dette resultat vil naturligvis variere fra database til database. For eksempel er mange af samlingerne på min database ejet af XDB, og ikke alle systemer vil have det installeret. De fire jeg anførte øverst i dette svar burde være tilgængelige på alle databaser siden 9iR2 (og måske tidligt), selvom de ikke altid er dokumenteret i tidligere versioner.
"Bemærk, at ALL_COLL_TYPES ser ud til at være en endnu bedre ordbogsvisning til at finde passende typer"
Det er en god pointe. Vi kan også filtrere på COLL_TYPE for at vinde ud af VARRAY'erne. Denne visning blev introduceret i 10g, mens ALL_TYPES var tilgængelig på 9i. Som med de fleste ting Oracle, jo senere version, jo mere funktionalitet har den.