2011-10-05 7 views
10

Chcę napisać instrukcję select, aby wyświetlić index_name, table_name, table_owner i unikalność, które istnieją w słowniku danych dla indeksów użytkownika tabeli. Każda pomoc byłaby świetna. Mój problem polega na tym, że nie mogłem znaleźć sposobu wyświetlania nazwy indeksu i właściciela tabeli.Jak uzyskać informacje o indeksie i właścicielu tabeli w Oracle?

SELECT owner, table_name FROM dba_tables; 

Daje to większość.

+3

To pytanie jest banalna odpowiedzieć czytając instrukcję. Już wskazałem ci dokumentację online Oracle, ale na przyszłość wszystkie widoki słowników danych są opisane w podręczniku Oracle Database Reference. Znajdź to tutaj: http://download.oracle.com/docs/cd/E11882_01/server.112/e24448/index.htm#US – APC

Odpowiedz

30

Według docs, można po prostu zrobić:

select INDEX_NAME, TABLE_OWNER, TABLE_NAME, UNIQUENESS from USER_INDEXES 

lub

select INDEX_NAME, TABLE_OWNER, TABLE_NAME, UNIQUENESS from ALL_INDEXES 

jeśli chcesz wszystkie indeksy ...

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

ani używać tego:

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

A dla indeksów:

select INDEX_NAME, TABLE_NAME, TABLE_OWNER 
from SYS.ALL_INDEXES 
order by TABLE_OWNER, TABLE_NAME, INDEX_NAME 
Powiązane problemy