如何获取有关Oracle中索引和表所有者的信息?

Ran*_*ndy 27 sql oracle

我想编写一个select语句来显示表用户索引的数据字典中存在的index_name,table_name,table_owner和uniqueness.任何帮助都会很棒.我的问题是我无法找到如何显示index_name和表所有者.

SELECT owner, table_name   FROM dba_tables;
Run Code Online (Sandbox Code Playgroud)

这提供了大部分内容.

ben*_*y23 57

根据文档,您可以这样做:

select INDEX_NAME, TABLE_OWNER, TABLE_NAME, UNIQUENESS from USER_INDEXES
Run Code Online (Sandbox Code Playgroud)

要么

select INDEX_NAME, TABLE_OWNER, TABLE_NAME, UNIQUENESS from ALL_INDEXES
Run Code Online (Sandbox Code Playgroud)

如果你想要所有索引......


Alo*_*ler 12

 select index_name, column_name
 from user_ind_columns
 where table_name = 'NAME';
Run Code Online (Sandbox Code Playgroud)

或者用这个:

select TABLE_NAME, OWNER 
from SYS.ALL_TABLES 
order by OWNER, TABLE_NAME 
Run Code Online (Sandbox Code Playgroud)

对于索引:

select INDEX_NAME, TABLE_NAME, TABLE_OWNER 
from SYS.ALL_INDEXES 
order by TABLE_OWNER, TABLE_NAME, INDEX_NAME
Run Code Online (Sandbox Code Playgroud)