如何查找所有数据库引用

时间:2020-03-05 18:50:26  来源:igfitidea点击:

在试图找出这个问题(这个问题仍然没有解决,我仍然不知道发生了什么)时,我想知道是否可能是对所讨论表的外部引用导致了问题。例如,触发器或者视图或者其他类似的东西。

有没有一种简单的方法来查找对给定数据库表的所有引用?包括所有视图,触发器,约束或者其他所有内容,最好从命令行,并且最好不带第三方工具(我们正在使用db2)。

解决方案

回答

哇,我本来没想到,但是似乎有..好的ole DB2.

我发现publib db2 docs视图非常方便:

http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp

我刚刚在其中找到" SYSCAT.TABDEP"目录视图,其中似乎或者多或者少包含了我们所要求的内容。我怀疑对于其中未涵盖的任何内容,我们将不得不浏览其余大量的syscat表。 (不幸的是,我似乎无法将我们链接到SYSCAT.TABDEP本身上的确切页面,但是搜索工具应该可以很轻松地将我们引导至该页面)。

如今,大多数数据库都有一组表,其中包含有关实际模式表的布局的数据,对于此类事情非常方便。

回答

我们可以编写一个查询来搜索信息模式视图(定义列)以在所有视图,触发器,过程等中查找表。尽管不确定FK和索引。