【问题标题】:how to find all indexes and their columns for tables, views and synonyms in oracle如何在 oracle 中查找表、视图和同义词的所有索引及其列
【发布时间】:2010-06-10 20:11:32
【问题描述】:

我记下了以下查询,它将列出特定表的索引名称及其列:

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;

我想修改它,这样如果我传入 viewsynonym 也可以。我们的系统有多种视图、同义词,所以如果有一个查询,我可以只提供名称(无论是视图同义词还是表),它会输出索引及其列,这将非常有帮助。

【问题讨论】:

    标签: oracle


    【解决方案1】:

    SELECT * FROM user_cons_columns WHERE table_name = 'table_name';

    【讨论】:

      【解决方案2】:

      您的查询应该适用于同义词以及表。但是,您似乎希望在没有的视图上有索引。也许是物化视图?

      【讨论】:

      • 我假设他想要视图的依赖表中的索引
      • 在这种情况下,它可能会很棘手,但它需要与 ALL_DEPENDENCIES 一起使用,并且由于视图可以基于其他视图,因此它可能还需要分层查询 (CONNECT BY) .
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多