Вопрос

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

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

Это было полезно?

Решение

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

Кстати, я нахожу просмотр документов publib db2 docs очень и очень удобным:

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top