2012-01-24 2 views
0

Есть ли таблицы, представляющие интерес для соединения между таблицами объектов & типов объектов? Я имею в виду таблицы из словаря (DICT).Типы объектов Oracle и таблицы объектов

Я смотрел в эти 2:

SELECT * FROM USER_OBJECTS 
SELECT * FROM USER_OBJECT_TABLES 

Меня интересует, чтобы узнать, если объект таблицы «A» содержит/может содержать тип объекта «б» экземпляров? Очевидно, что таблица «A» - это таблица объекта «a», а «b» - «a».

Есть идеи? Советы? Должен ли я возобновить запрос в таблице «A»? И если я должен, как узнать, выбран ли выбранный объект из таблицы «A» - это экземпляр «a» или «b»?

ответ

0

Я не уверен, что вы пытаетесь, но есть USER_TYPES словарь вид, который содержит иерархию объектов, так что вы можете написать какой-нибудь SQL запрос типа (например, не является совершенным, я знаю):

select ot.table_name, tt.type_name 
    from (
select t.type_name, 
     connect_by_root t.supertype_name rkey 
    from user_types t 
connect by prior t.type_name = t.supertype_name) tt, 
     user_object_tables ot 
     where ot.table_type = tt.type_name or ot.table_type = rkey 

и найти все типы, которые находятся под типом стола

Смежные вопросы