select distinct a.table_name,
                a.index_name,
                b.index_type,
                listagg(a.column_name, ',') within group(order by a.column_position asc) over(partition by a.index_name) column_names
  from user_ind_columns a, user_indexes b
 where a.index_name = b.index_name
   and a.TABLE_NAME = b.table_name
   and a.table_name = upper('tb_dept_article_statics')
 order by a.index_name asc;

更多推荐

oracle查看表索引的sql语句