select table_name,INDEX_NAME,
'create index ' ||INDEX_NAME|| ' on '|| table_name||' ('||ltrim(max(SYS_CONNECT_BY_PATH(DIC.COLUMN_NAME, ',')), ',')||');'
from (select
di.table_name,
di.INDEX_NAME,
dic.column_name,
dic.column_position child,
dic.column_position - 1 father
from DBA_IND_COLUMNS dic, dba_indexes di
where DIC.INDEX_OWNER = 'NETSPLATDATA'
and dic.INDEX_NAME = di.index_name
and di.owner = 'NETSPLATDATA'
and di.table_name='APP_PREM_DUE') dic
START WITH DIC.father = 0
CONNECT BY PRIOR DIC.child = DIC.father
group by table_name,INDEX_NAME
'create index ' ||INDEX_NAME|| ' on '|| table_name||' ('||ltrim(max(SYS_CONNECT_BY_PATH(DIC.COLUMN_NAME, ',')), ',')||');'
from (select
di.table_name,
di.INDEX_NAME,
dic.column_name,
dic.column_position child,
dic.column_position - 1 father
from DBA_IND_COLUMNS dic, dba_indexes di
where DIC.INDEX_OWNER = 'NETSPLATDATA'
and dic.INDEX_NAME = di.index_name
and di.owner = 'NETSPLATDATA'
and di.table_name='APP_PREM_DUE') dic
START WITH DIC.father = 0
CONNECT BY PRIOR DIC.child = DIC.father
group by table_name,INDEX_NAME