Каковы представления словаря данных Oracle, в которых хранятся метаданные о типах таблиц и типах объектов? - PullRequest
0 голосов
/ 31 октября 2018

Я хочу найти, что Table Type объявлен как таблица object_type. Эти типы являются автономными типами SQL (не являются частными для каких-либо пакетов или процедур PL / SQL).

Я знаю, что мы можем получить информацию о метаданных типа объекта из all_type_attrs представления словаря данных. Но не смог найти вид, который соединяет тип таблицы и соответствующий ей тип объекта.

Ответы [ 2 ]

0 голосов
/ 31 октября 2018

Как говорит APC, представление называется ALL_COLL_TYPES (также существуют версии DBA / USER).

Обратите внимание, что Oracle хранит имена идентификаторов в верхнем регистре, если они не заключены в кавычки.

CREATE TYPE emp_obj_type AS OBJECT (
   emp_id NUMBER,
   emp_name VARCHAR2 (10));
/   

CREATE TYPE emp_tbl_type IS TABLE OF emp_obj_type;
/

SELECT type_name, elem_type_name
FROM   all_coll_types
WHERE  type_name = 'EMP_TBL_TYPE'
AND    elem_type_name = 'EMP_OBJ_TYPE';
0 голосов
/ 31 октября 2018

Имеется представление словаря данных user_coll_types (также all_coll_types, dba_coll_types), которое содержит необходимую информацию. Столбец elem_type_name имеет тип объекта, а type_name предоставляет вам коллекции, определенные как TABLE OF этого типа.

Так что этот запрос поможет вам:

select type_name as table_type_name, coll_type
from user_coll_types 
where elem_type_name = 'APC_T'
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...