Pular para o conteúdo

Fóruns Banco de dados Oracle Existe o Índice? Existe o Índice?

#86855
David Siqueira
Participante

    Opa!!..salve todo mundo..
    Ai Walter pega esse aqui que te atende:

    set feed off ver off wrap off recsep off ARRAY 1 lines 150 pages 20000
    break on unq on index_name skip 1
    col unq format a1 heading 'U'
    col index_name format a60 heading 'Nome da Tabela . Nome do Indice' wra
    col column_name format a30 heading 'Nome da Coluna' wra
    col tipo format a10 heading 'Tipo'
    col tamanho format a5 heading 'Tam.'
    col nulo format a3 heading 'Nul'
    col pos form 999 heading 'Pos.'
    accept t prompt "Nome da Tabela ou (Enter)=Todas ...................: "
    accept i prompt "Nome do Indice ou (Enter)=Todos ...................: "
    accept p prompt "Nome do Usuario ou (Enter)=Todos ou (Enter)=Usuario.: "
    --spool lst/indices.lst
    select substr(a.uniqueness,1,1) unq, i.table_name||'.'||i.index_name
    as index_name, i.column_name,
    decode(c.data_type,'NUMBER',decode(c.data_length,0,'LONG','NUMBER'),
    c.data_type) tipo,
    decode(c.data_type,'NUMBER',to_char(c.data_precision),'DATE',NULL,
    to_char(c.data_length))
    ||decode(c.data_scale,0,null,null,null,','||ltrim(to_char(c.data_scale))) tamanho, decode(c.nullable,'N','Not') nulo
    ,i.COLUMN_POSITION pos
    from all_indexes a, all_tab_columns c, all_ind_columns i
    where i.table_owner = c.owner
    and upper(i.table_name) = upper(c.table_name)
    and upper(i.column_name) = upper(c.column_name)
    and i.table_owner like decode(upper('&p'),'ALL','%',null,user,upper('&p'))
    and upper(i.table_name) like nvl(upper('&t'),'%')
    and i.index_name like nvl(upper('&i'),'%')
    and a.owner = i.index_owner
    and a.index_name = i.index_name
    order by i.index_name, i.column_position;
    --spool off
    @init

    Abraço.

    David