sql >> Databáze >  >> RDS >> Oracle

Anonymní typ TABLE nebo VARRAY v Oracle

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á.



  1. Nemáte zámek databáze! v androidu

  2. MMO hry a návrh databáze

  3. Seznam cizích klíčů a tabulek, na které odkazují v Oracle DB

  4. Zkoumání různých způsobů šifrování dat MariaDB