Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Anonimowy typ TABLE lub VARRAY w Oracle

Pod warunkiem, że nie boisz się wyraźnie odwoływać się do schematu SYS, jest kilka. Oto kilka, których używam dość często (dobrze odcivarchar2list nie tak bardzo, ponieważ pochłania dużo pamięci:dla ciągów wolę 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> 

Jeśli jednak nie są one wystarczające dla Twoich potrzeb, uruchom to zapytanie, aby znaleźć więcej:

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

Oczywiście ten wynik będzie się różnić w zależności od bazy danych. Na przykład wiele kolekcji w mojej bazie danych należy do XDB i nie każdy system będzie miał to zainstalowane. Cztery, które wymieniłem na początku tej odpowiedzi, powinny być dostępne w każdej bazie danych od 9iR2 (i być może wcześnie), chociaż nie zawsze są one udokumentowane we wcześniejszych wersjach.

„Zauważ, że ALL_COLL_TYPES wydaje się być jeszcze lepszym widokiem słownika do wyszukiwania odpowiednich typów”

Trafne spostrzeżenie. Możemy również filtrować według COLL_TYPE, aby odfiltrować VARRAYs. Ten widok został wprowadzony do 10g, podczas gdy ALL_TYPES był dostępny w 9i. Podobnie jak w przypadku większości rzeczy Oracle, im nowsza wersja, tym większą ma funkcjonalność.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Metoda gromadzenia:funkcja COUNT w bazie danych Oracle

  2. Łączenie się z bazą danych Oracle za pomocą SQLAlchemy

  3. Wyjątek BadImageFormat. Będzie to miało miejsce podczas pracy w trybie 64-bitowym z zainstalowanymi 32-bitowymi komponentami klienta Oracle

  4. java.sql.SQLException:- ORA-01000:przekroczono maksymalną liczbę otwartych kursorów

  5. ORA-01882:nie znaleziono regionu strefy czasowej