2011-10-05 11 views
10

Voglio scrivere un'istruzione select per visualizzare index_name, table_name, table_owner e univocità presenti nel dizionario dei dati per gli indici utente della tabella. Qualsiasi aiuto sarebbe grande. Il mio problema è che non sono stato in grado di trovare come visualizzare index_name e proprietario di tabelle.Come ottenere informazioni su un indice e proprietario di una tabella in Oracle?

SELECT owner, table_name FROM dba_tables; 

Questo dà la maggior parte di esso.

+3

questa domanda è banale per rispondere leggendo il manuale. Ti ho già indirizzato alla documentazione online di Oracle, ma per riferimento futuro tutte le viste del dizionario dati sono descritte nel riferimento del database Oracle. Trovalo qui: http://download.oracle.com/docs/cd/E11882_01/server.112/e24448/index.htm#US – APC

risposta

30

Secondo il docs, si può solo fare:

select INDEX_NAME, TABLE_OWNER, TABLE_NAME, UNIQUENESS from USER_INDEXES 

o

select INDEX_NAME, TABLE_OWNER, TABLE_NAME, UNIQUENESS from ALL_INDEXES 

se si desidera che tutti gli indici ...

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

o utilizzare questo:

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

E per indici:

select INDEX_NAME, TABLE_NAME, TABLE_OWNER 
from SYS.ALL_INDEXES 
order by TABLE_OWNER, TABLE_NAME, INDEX_NAME 
Problemi correlati