sql >> Database >  >> RDS >> Oracle

Anoniem TABLE- of VARRAY-type in Oracle

Op voorwaarde dat je niet bang bent om expliciet naar het SYS-schema te verwijzen, zijn er een paar. Hier zijn er enkele die ik vrij vaak gebruik (nou odcivarchar2list niet zozeer, omdat het veel geheugen opslokt:voor strings geef ik de voorkeur aan 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> 

Als deze echter niet voldoende zijn voor uw behoeften, voert u deze zoekopdracht uit om meer te vinden:

select type_name
       , owner
from all_types
where typecode = 'COLLECTION'
and owner != user
/

Uiteraard verschilt dit resultaat van database tot database. Veel van de verzamelingen in mijn database zijn bijvoorbeeld eigendom van XDB en niet op elk systeem zal dat zijn geïnstalleerd. De vier die ik bovenaan dit antwoord heb vermeld, zouden sinds 9iR2 (en misschien ook vroeg) in elke database beschikbaar moeten zijn, hoewel ze niet altijd in eerdere versies zijn gedocumenteerd.

"Merk op dat ALL_COLL_TYPES een nog betere woordenboekweergave lijkt te zijn om geschikte typen te vinden"

Dat is een goed punt. We kunnen ook filteren op COLL_TYPE om de VARRAY's te onderscheiden. Die weergave werd geïntroduceerd in 10g, terwijl ALL_TYPES beschikbaar was op 9i. Zoals met de meeste dingen met Oracle, hoe later de versie, hoe meer functionaliteit deze heeft.



  1. Galera Cluster Cloud-aanbiedingen vergelijken:deel twee Google Cloud Platform (GCP)

  2. Hoe SQLite Rtrim() werkt

  3. Verbinding maken met de lokale SQL Server-database met behulp van C#

  4. Oracle 11g:standaard ingesteld op statische waarde wanneer query niets retourneert