quinta-feira, 22 de novembro de 2012

Tabelas Internas do Oracle

-- Tabelas --
select * from tabs

-- Colunas --
select * from cols
where lower(table_name)  = 'nome_da_tabela'
  and column_name = 'nome_da_coluna'

-- Sequencias --
select lower(sequence_name) || '.nextval' "Nome da Seq" from seq
where sequence_name like '%nome_tabela%'

-- Relacionamentos --
select
con.owner || ' - ' ||
'(' || decode(con.constraint_type, 'P', 'PK', 'R', 'FK', '....') || ') '
    || col.table_name || '.' || col.column_name
    || '   [' || con.constraint_name || ']'  "Tabela Pai",

con.r_owner || ' - ' ||
'(' || decode(con.constraint_type, 'P', 'PK', 'R', 'FK', '....') || ') '
    || col2.table_name || '.' || col2.column_name
    || '   [' || con.constraint_name || ']'  "Tabela Filho"

from
ALL_CONSTRAINTS con,
ALL_CONS_COLUMNS col,
ALL_CONS_COLUMNS col2

where con.CONSTRAINT_NAME = col.CONSTRAINT_NAME
  and con.R_CONSTRAINT_NAME = col2.CONSTRAINT_NAME(+)
  and con.owner = con.r_owner
  and con.owner = 'NOME_USUARIO'
  and lower(con.table_name) in ('nome_tabela_1','nome_tabela_2', 'nome_tabela_N')

order by col.table_name, col.column_name

Nenhum comentário:

Postar um comentário