No Oracle SQL Developer , se estou visualizando as informações em uma tabela, posso ver as restrições, o que me permite ver as chaves estrangeiras (e, portanto, quais tabelas são referenciadas por esta tabela) e posso ver as dependências para ver o que pacotes e tais referências à tabela. Mas não sei como encontrar quais tabelas referenciam a tabela.
Por exemplo, digamos que estou olhando para a emp
mesa. Há outra tabela emp_dept
que captura quais funcionários trabalham em quais departamentos, que referenciam a emp
tabela emp_id
, a chave primária da emp
tabela. Existe uma maneira (através de algum elemento da interface do usuário no programa, não através do SQL) para descobrir que a emp_dept
tabela faz referência à emp
tabela, sem que eu precise saber que a emp_dept
tabela existe?
fonte
Para adicionar isso ao SQL Developer como uma extensão, faça o seguinte:
Adicione a extensão ao SQL Developer:
Navegue para qualquer tabela e agora você verá uma guia adicional ao lado da SQL one, denominada FK References, que exibe as novas informações de FK.
Referência
fonte
and owner = :OBJECT_OWNER
antesand exists
.describe books;
eselect * from books;
, ele não mostra a guia fk reference na Oracle sql developer VM.Substitua [Your TABLE] por emp na consulta abaixo
fonte
constraint_type in ('P','U')
é supérfluo, porque se o tipo de restrição TOTO de uma restrição é 'R', então r_constraint_name do TOTO é, obviamente, o nome de uma restrição do tipo 'P' OU 'U' na tabela referenciada. Não há necessidade de especificá-lo. Você está usando umIN
, então é como muitosOR
e nós apenas nos preocupamos com o único operando de OR que é avaliado como verdadeiro.Você pode consultar isso na
ALL_CONSTRAINTS
exibição:fonte
O SQL Developer 4.1, lançado em maio de 2015, adicionou uma guia Modelo que mostra as chaves estrangeiras da tabela que se referem à sua tabela em um formato de Diagrama de relacionamento com entidades.
fonte
Que tal algo como isso:
fonte
dba_constraints
paraall_constraints
assim:SELECT c.constraint_name, c.constraint_type, c2.constraint_name, c2.constraint_type, c2.table_name FROM all_constraints c JOIN all_constraints c2 ON (c.r_constraint_name = c2.constraint_name) WHERE c.table_name = '<TABLE_OF_INTEREST>' AND c.constraint_TYPE = 'R';
fonte
Ele está no produto há anos - embora não estivesse no produto em 2011.
Mas, basta clicar na página Modelo.
Verifique se você possui pelo menos a versão 4.0 (lançada em 2013) para acessar esse recurso.
fonte
Para adicionar à resposta acima para o plugin sql developer, usar o xml abaixo ajudará a obter a coluna associada à chave estrangeira.
fonte