Ответ 1
Ваш запрос должен работать как для синонимов, так и для таблиц. Однако, похоже, вы ожидаете индексов на представлениях, где их нет. Может быть, это материализованные взгляды?
Я записал следующий запрос, в котором будет указано имя индекса и его столбцы для конкретной таблицы:
select
b.uniqueness, a.index_name, a.table_name, a.column_name
from all_ind_columns a, all_indexes b
where a.index_name=b.index_name
and a.table_name = upper('table_name')
order by a.table_name, a.index_name, a.column_position;
Я хочу изменить это, так что если я пройду через view
или synonym
, он также будет работать. Наша система имеет вариации представлений, синонимов, поэтому очень полезно иметь один запрос, к которому я могу просто указать имя (будь то синоним представления или таблица), и он будет выплевывать индексы и их столбцы.
Ваш запрос должен работать как для синонимов, так и для таблиц. Однако, похоже, вы ожидаете индексов на представлениях, где их нет. Может быть, это материализованные взгляды?
SELECT * FROM user_cons_columns WHERE table_name = 'table_name';