2016-10-17 2 views
1

Ich habe eine table(XXX), die Composite-Indexierung auf zwei der columns(A,B) hat. Ich bin diese Indizes in einer anderen Tabelle zu extrahieren durch Abfrage:So erstellen Sie zusammengesetzten Index mit der Hilfe 'all_ind_columns'

create table YYY as 
    select index_name, table_name, column_name 
    from all_ind_columns 
    where table_name = 'XXX'; 

ich zwei Zeilen für die Tabelle XXX, jede Zeile, die verschiedenen columns(A,B) aber gleiche index_name(INDEX1).

Wie soll ich sie auf die gleiche Weise neu erstellen.

Antwort

3

können Sie die folgende Abfrage verwenden, um die "create index" Anweisung zu generieren:

select 
    'create index ' 
|| index_name 
||' on YYY (' 
|| listagg(column_name, ',') within group (order by column_position) 
|| ');' 
from all_ind_columns where table_name='XXX' group by index_name; 
Verwandte Themen