2011-10-05 38 views
10

我想编写一个select语句来显示表用户索引的数据字典中存在的index_name,table_name,table_owner和唯一性。任何帮助都会很棒。我的问题是我还没有能够找到如何显示一个index_name和表所有者。如何在Oracle中获取有关索引和表所有者的信息?

SELECT owner, table_name FROM dba_tables; 

这给出了大部分。

+3

这个问题很琐碎通过阅读手册来回答。我已经向您指出了Oracle在线文档,但为了将来的参考,Oracle数据库参考中介绍了所有数据字典视图。在此处查找:http://download.oracle.com/docs/cd/E11882_01/server.112/e24448/index.htm#US – APC

回答

30

按照docs,你可以做:

select INDEX_NAME, TABLE_OWNER, TABLE_NAME, UNIQUENESS from USER_INDEXES 

select INDEX_NAME, TABLE_OWNER, TABLE_NAME, UNIQUENESS from ALL_INDEXES 
如果你希望所有指标

...

5
select index_name, column_name 
from user_ind_columns 
where table_name = 'NAME'; 

或使用本:

select TABLE_NAME, OWNER 
from SYS.ALL_TABLES 
order by OWNER, TABLE_NAME 

且索引:

select INDEX_NAME, TABLE_NAME, TABLE_OWNER 
from SYS.ALL_INDEXES 
order by TABLE_OWNER, TABLE_NAME, INDEX_NAME 
相关问题