Como localizar todas as referências de banco de dados
Pergunta
Na tentativa de descobrir o este problema (que ainda está por resolver e eu ainda não tenho idéia do que está acontecendo), eu estou imaginando se, talvez, uma referência externa para a tabela em questão está causando o problema.Por exemplo, um trigger ou ver ou alguma outra coisa.
Existe uma maneira fácil para encontrar todas as referências a uma determinada tabela do banco de dados?Incluindo todas as views, triggers, restrições, ou nada, de preferência a partir da linha de comando, e também, de preferência, sem uma festa de 3 (ferramenta que estamos utilizando db2).
Solução
Wow, eu não teria pensado nisso, mas parece ser..Boa ole DB2.
Eu acho o publib db2 docs vista muito prático, pelo caminho:
http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp
Eu só encontrei o "SYSCAT.TABDEP" modo de exibição de catálogo, que parece conter mais ou menos o que você pediu.Eu suspeito que por nada não cobertas lá você vai ter a rede de arrasto pelo resto da syscat tabelas que são vastas.(Infelizmente eu não consigo o link para a página exata em SYSCAT.TABDEP em si, o mecanismo de busca, deve levá-lo para ele com bastante facilidade embora).
A maioria dos bancos de dados nos dias de hoje tem um conjunto de tabelas que contêm dados sobre o layout de seu real de tabelas de esquema, bastante útil para este tipo de coisa.
Outras dicas
Você pode escrever uma consulta de pesquisa a exibições de esquema de informações (definição de coluna) para localizar a tabela em todas as views, triggers, procedimento, etc.Não tenho certeza sobre o FK & índices embora.