Jales
Um tempo atrás fiz um script +/- para isso... veja se serve para você
(segue abaixo).
OBS.: Precisaria fazer mais testes. ;)
[ ]
André Santos
-----
-- Conectar com o usuário "owner" do schema
----------------------------------------------------------------------
-- Lista dependências a partir de uma determinada tabela do schema.
----------------------------------------------------------------------
-- OBS.: Nesta versão pode haver repetição na lista de tabelas,
-- ao apresentar cada nível de dependência (uma tabela pode
-- constar novamente, para apresentação de suas dependentes).
----------------------------------------------------------------------
col tabela_filha format a60
col nivel format 999999
UNDEFINE v_tabela
SET VERIFY OFF
----------------------------------------------------------------------
select
rpad('=', 30, '=') || '>>' as tabela_filha,
i.table_name as tabela_mae,
0 as nivel,
null as fk,
i.constraint_name || ' (raiz)' as pk_ref
from user_constraints i
where i.table_name = upper('&&v_tabela')
and i.constraint_type = 'P'
union all
select
' ' || rpad( '.', level-1, '.' ) || decode(level,1,'',' ') || tab_filha
as tabela_filha,
tab_mae as tabela_mae,
level as nivel,
fk,
pk_ref
from
(
select
f.table_name as tab_filha,
f.constraint_name as fk,
f.r_constraint_name as pk_ref,
p.table_name as tab_mae
from user_constraints f
join user_constraints p
on p.constraint_name = f.r_constraint_name
and f.constraint_type = 'R'
and f.table_name <> upper('&&v_tabela')
)
start with tab_mae = upper('&&v_tabela')
connect by prior tab_filha = tab_mae
-- order by level desc, tab_filha, tab_mae
/
-----
Em 2 de agosto de 2013 16:08, Jales Jose Moraes
<[email protected]>escreveu:
> **
>
>
> Blz milton, o DER de fato eu ja gero. Acontece que ele vem apenas com as
> tabelas que se relacionam diretamente, e eu também precisaria dos
> relacionamentos pais até o seu último nível. Estou usando o power designer
> para isto.
>
> ________________________________
> De: Milton Bastos Henriquis Jr. <[email protected]>
> Para: [email protected]
> Enviadas: Terça-feira, 30 de Julho de 2013 15:10
> Assunto: Re: [oracle_br] Subset
>
>
>
> Gere um DER através de engenharia reversa.
>
> Acredito que até o SQL Developer tenha essa funcionalidade.
>
> 2013/7/30 Jales Jose Moraes <[email protected]>
>
> > **
> >
> >
> > Boa tarde!
> >
> > Pessoal estou precisando fazer um subset de um schema, porém estou
> > esbarrando em restrições das tabelas pais. Bom! É possível extrair do
> > dicionário de dados todas as tabelas pais de um schema? Consegui gerar um
> > sql para trazer as tabelas de outros owner's que o schema referencia,
> > acontece que estas tabelas por sua vez tem suas tabelas pais, ou seja,
> pais
> > de pais, seria então algo recursivo.
> >
> > Alguém pode me dar um auxílio no sentido de obter uma espécie de "árvore"
> > hierárquica de um determinado schema?
> >
> > Seria assim:
> >
> > 1 Subset do schema SMS
> > 2 Schema SMS referencia algumas tabelas do schema FIN, SUS, CPM e RH
> > 3 Schemas referenciados possuem tabelas que referenciam outras tabelas
> > (podendo ser de outro schema ou não) e assim sucessivamente até o último
> > nível de tabelas pais.
> >
> > Tenho observado (manualmente), que o nível de hierarquia é baixo (no
> > máximo até o 3o nível de dependência). Porém para um subset de outros
> > schemas o nível pode ser maior, e facilitaria bastante se conseguisse
> > extrair de forma automazidada esta "árvore".
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> ------------------------------------
>
> ----------------------------------------------------------
> >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de
> inteira responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/[email protected]/
> ----------------------------------------------------------
> >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package »
> Procedure » Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO!
> VISITE: http://www.oraclebr.com.br/
> ---------------------------------------------------------- Links do Yahoo!
> Grupos
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
--------------------------------------------------------------------------------------------------------------------------
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/[email protected]/
--------------------------------------------------------------------------------------------------------------------------
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure »
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
>http://www.oraclebr.com.br/
------------------------------------------------------------------------------------------------------------------------
Links do Yahoo! Grupos
<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/
<*> Para sair deste grupo, envie um e-mail para:
[email protected]
<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html