Есть ли в oracle таблицы метаданных, в которых хранятся определенные пользователем типы? - PullRequest
2 голосов
/ 05 апреля 2011

Если кто-то делает что-то вроде:

CREATE OR REPLACE TYPE some_type AS OBJECT(whatever NUMBER);

и тогда я делаю что-то вроде:

SELECT type_name FROM some_magic_table WHERE type_name = 'some_type';

Должен ли я разумно ожидать, что оракул будет работать так?

Я не хочу постоянно полагаться на интерфейс Oracle SQL Developer для типов глазных яблок, поэтому.

Я использую 10 г между прочим.

Спасибо.

Ответы [ 2 ]

5 голосов
/ 05 апреля 2011
--
-- The types
--
SELECT *
FROM   ALL_TYPES

--
-- Their attributes
--
SELECT *
FROM   ALL_TYPE_ATTRS
5 голосов
/ 05 апреля 2011

Да, он называется USER_TYPES (я предполагаю представление SYS).

Попробуйте это (если тип был создан схемой / пользователем, выполняющим этот запрос):

SELECT * 
  FROM user_types 
 WHERE type_name = 'SOME_TYPE'; 

Чтобы посмотреть ТИПЫ, к которым у вас есть доступ, независимо от схемы:

SELECT * 
  FROM all_types 
 WHERE type_name = 'SOME_TYPE'; 
...