Manchmal bedeutet die Dokumentation genau das, was es sagt.
Zur Veranschaulichung habe ich eine Tabelle namens RANGE_PART_INTERVAL_TABLE
, die drei Partitionen hat. Ich führe die entsprechende Abfrage gegen ALL_OBJECTS, und lo!
Ich denke, das Problem ist die Verwendung des Wortes "Objekte". Oracle kommt aus einer Zeit vor der objektorientierten Programmierung (wenn Sie sich so etwas vorstellen können). Sein Datenwörterbuch verwendet "Datenbankobjekt", um "Sache" zu bedeuten - Tabelle, Ansicht, Reihenfolge, Prozedur, usw. Als Oracle OOP in die Datenbank einführte, verwendete es das Schlüsselwort TYPE
.für diese neuen Dinge. So ist die Ansicht ALL_OBJECTS eine Liste aller Dinge Ihr Schema hat Berechtigungen auf, nicht nur die benutzerdefinierten Typen.
bearbeiten
Nur klar zu sein, das hat nichts mit Typ inheritence zu tun.
SQL> create type my_type as object (attr1 number) not final
2/
Type created.
SQL> create type my_sub_1 under my_type (attr2 date)
2/
Type created.
SQL> select object_name, object_type, subobject_name
2 from all_objects
3 where object_name = 'MY_TYPE'
4/
OBJECT_NAME OBJECT_TYPE SUBOBJECT_NAME
------------------------------ ------------------- ---------------
MY_TYPE TYPE
SQL>
inheritence wird durch die Benutzer/ALL/DBA_TYPES Ansicht gezeigt, die den Supertyp des abgeleiteten Typs zeigt: ...
SQL> select type_name, supertype_name
2 from all_types
3 where type_name in ('MY_TYPE', 'MY_SUB_1')
4/
TYPE_NAME SUPERTYPE_NAME
------------------------------ ------------------------------
MY_SUB_1 MY_TYPE
MY_TYPE
SQL>
edit2
TheCoop betont:
Typen können keine Partitionen haben
In dem spezifischen Fall zitiert sie $VNS_1
ist ein Artefakt des Typs Evolution. Wenn wir einen ALTER TYPE ausführen, nachdem Type verwendet wurde, erstellt Oracle eine Version davon. Wir können sehen, in den% _TYPE_VERSIONS Ansichten ....
SQL> select * from dba_type_versions
2 where owner = 'MDSYS'
3 and type_name = 'SDO_TGL_OBJECT_ARRAY'
4/
OWNER TYPE_NAME VERSION#
------------------------------ ------------------------------ ----------
TYPECODE STATUS LINE
------------------------------ ------- ----------
TEXT
------------------------------------------------------------------------------
HASHCODE
----------------------------------
MDSYS SDO_TGL_OBJECT_ARRAY 1
COLLECTION VALID 1
type SDO_TGL_OBJECT_ARRAY
61EB9AEC10198F71C141D13B32F52C00A8
MDSYS SDO_TGL_OBJECT_ARRAY 1
COLLECTION VALID 2
as VARRAY (1000000) of SDO_TGL_OBJECT
61EB9AEC10198F71C141D13B32F52C00A8
MDSYS SDO_TGL_OBJECT_ARRAY 2
COLLECTION VALID 1
type SDO_TGL_OBJECT_ARRAY
6184209BAEF1F731B937760C2BA8B45688
MDSYS SDO_TGL_OBJECT_ARRAY 2
COLLECTION VALID 2
as VARRAY (1000000) of SDO_TGL_OBJECT
6184209BAEF1F731B937760C2BA8B45688
MDSYS SDO_TGL_OBJECT_ARRAY 2
COLLECTION VALID 3
alter type SDO_TGL_OBJECT_ARRAY modify limit 10000000 cascade
6184209BAEF1F731B937760C2BA8B45688
SQL>
Find out more.
Quick Google gibt mir den Eindruck, dass es untergeordnete Objekte bedeutet –
Ihre Beispielabfrage verwendet ALL_TYPES anstelle von ALL_OBJECTS, die Ihre Frage verwirrt. – APC
Whoops, verwendete die falsche Abfrage:/ – thecoop