Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Maintaining Object Types and Object Views




If you work much with object types, you will learn a number of ways to get information about the types and views that you have created. Once you reach the limits of the SQL*Plus DESCRIBE command, this could involve direct queries from the Oracle data dictionary.

The dictionary term for user-defined types (objects and collections) is simply TYPE. Object type definitions and object type bodies are both found in the USER_SOURCE view (or DBA_SOURCE, or ALL_SOURCE), just as package specifications and bodies are. Table 21-4 lists a number of helpful queries you can use.

Table 21-4. Data dictionary entries for object types
To answer the question... Use a query such as
What object and collection types have I created? SELECT * FROM user_types;SELECT * FROM user_objects WHERE object_type = 'TYPE';
What do my object type hierarchies look like? SELECT RPAD(' ', 3*(LEVEL-1)) || type_name FROM user_types WHERE typecode = 'OBJECT' CONNECT BY PRIOR type_name = supertype_name;
What are the attributes of type foo? SELECT * FROM user_type_attrs WHERE type_name = 'FOO';
What are the methods of type foo? SELECT * FROM user_type_methods WHERE type_name = 'FOO';
What are the parameters of foo's methods? SELECT * FROM user_method_params WHERE type_name = 'FOO';
What datatype is returned by foo's method called bar? SELECT * FROM user_method_results WHERE type_name = 'FOO' AND method_name = 'BAR';
What is the source code for foo, including all ALTER statements? SELECT text FROM user_source WHERE name = 'FOO' AND type = 'TYPE' /* or 'TYPE BODY' */ ORDER BY line;
What are the object tables that implement foo? SELECT table_name FROM user_object_tables WHERE table_type = 'FOO';
What are all the columns in an object table foo_tab, including the hidden ones? SELECT column_name, data_type, hidden_column, virtual_column FROM user_tab_cols WHERE table_name = 'FOO_TAB';
What columns implement foo? SELECT table_name, column_name FROM user_tab_columns WHERE data_type = 'FOO';
What database objects depend on foo? SELECT name, type FROM user_dependencies WHERE referenced_name = 'FOO';
What object views have I created, using what OIDs? SELECT view_name, view_type, oid_text FROM user_views WHERE type_text IS NOT NULL;
What does my view hierarchy look like? (Requires a temporary table because you can't use a subquery with CONNECT BY) CREATE TABLE uvtemp AS SELECT v.view_name, v.view_type, v.superview_name, v1.view_type superview_type FROM user_views v, user_views v1 WHERE v.superview_name = v1.view_name (+);SELECT RPAD(' ', 3*(LEVEL-1)) || view_name || ' (' || view_type || ') ' FROM uvtemp CONNECT BY PRIOR view_type = superview_type;DROP TABLE uvtemp;
What is the query on which I defined the foo_v view? SET LONG 1000 -- or greaterSELECT text FROM user_views WHERE view_name = 'FOO_V';
What columns are in view foo_v? SELECT column_name, data_type_mod, data_type FROM user_tab_columns WHERE table_name = 'FOO_V';

One potentially confusing thing Oracle has done in the data dictionary is to make object tables invisible from the USER_TABLES view. Instead, a list of object tables appears in USER_OBJECT_TABLES (as well as in USER_ALL_TABLES).





Поделиться с друзьями:


Дата добавления: 2015-10-01; Мы поможем в написании ваших работ!; просмотров: 449 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Бутерброд по-студенчески - кусок черного хлеба, а на него кусок белого. © Неизвестно
==> читать все изречения...

2408 - | 2330 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.