Иногда документация означает именно то, что она говорит.
В качестве иллюстрации у меня есть таблица под названием RANGE_PART_INTERVAL_TABLE
, которая имеет три раздела. Я запускаю соответствующий запрос для ALL_OBJECTS и lo!
SQL> select object_name, object_type, subobject_name
2 from all_objects
3 where object_name = 'RANGE_PART_INTERVAL_TABLE'
4/
OBJECT_NAME OBJECT_TYPE SUBOBJECT_NAME
------------------------------ ------------------- ---------------
RANGE_PART_INTERVAL_TABLE TABLE
RANGE_PART_INTERVAL_TABLE TABLE PARTITION SYS_P60
RANGE_PART_INTERVAL_TABLE TABLE PARTITION SYS_P61
RANGE_PART_INTERVAL_TABLE TABLE PARTITION SYS_P62
SQL>
Я думаю, что проблема заключается в использовании слова «объекты». Oracle приходит от времени до объектно-ориентированного программирования (если вы можете себе это представить). Его словарь данных использует «объект базы данных» для обозначения «вещь» - таблица, представление, последовательность, процедура и т. Д. Когда Oracle вводил ООП в базу данных, он использовал ключевое слово TYPE
. Для этих новых вещей. Таким образом, представление ALL_OBJECTS представляет собой список всех вещей, на которые у вашей схемы есть привилегии, а не только на пользовательские типы.
редактировать
Просто чтобы быть ясно, что это не имеет ничего общего с типом наследования.
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>
Наследование показан на виде ПОЛЬЗОВАТЕЛЯ/ВСЕ/DBA_TYPES, который показывает супертипом производного типа: ...
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 указывает:
типы не могут иметь перегородки
В конкретном случае, который они цитируют, $VNS_1
является артефактом типа Evolution. Когда мы выполняем ALTER TYPE после того, как Type использовался, Oracle создает его версию. Мы можем увидеть это в воззрениях% _TYPE_VERSIONS ....
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 дает мне впечатление, что это означает дочерние объекты –
В вашем примере запроса используется ALL_TYPES вместо ALL_OBJECTS, что смущает ваш вопрос. – APC
whoops, использовал неправильный запрос:/ – thecoop