Как найти все ссылки на базы данных - PullRequest
1 голос
/ 10 сентября 2008

Пытаясь выяснить эту проблему (которая до сих пор не решена, и я до сих пор не знаю, что происходит), я задаюсь вопросом, может ли проблема связана с внешней ссылкой на данную таблицу , Например, триггер или представление или что-то подобное.

Есть ли простой способ найти все ссылки на данную таблицу базы данных? Включая все представления, триггеры, ограничения или что-либо вообще, предпочтительно из командной строки, а также предпочтительно без стороннего инструмента (мы используем db2).

Ответы [ 2 ]

2 голосов
/ 10 сентября 2008

Ух ты, я бы об этом не подумал, но, похоже, есть .. Хорошая оле DB2.

Между прочим, просмотр документов publib db2 очень и очень удобен:

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

Я только что нашел представление каталога "SYSCAT.TABDEP" в нем, которое, кажется, содержит более или менее то, что вы просили. Я подозреваю, что за чем-то, что не было рассмотрено, вам придется пробираться через остальные столы syscat, которые обширны. (К сожалению, я не могу связать вас с точной страницей в самом SYSCAT.TABDEP, хотя функция поиска должна довольно легко привести вас к ней).

Большинство баз данных в настоящее время имеют набор таблиц, которые содержат данные о компоновке ваших реальных таблиц схемы, что очень удобно для такого рода вещей.

0 голосов
/ 10 сентября 2008

Вы можете написать запрос для поиска в представлениях информационной схемы (столбце определения), чтобы найти таблицу во всех представлениях, триггерах, процедурах и т. Д. Не уверен насчет FK и индексов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...