Зависимости
В базе данных одни объекты могут зависеть от других (на пример, хранимая процедура от таблицы, на поля которой ссылается). Поэтому сервер всегда отслеживает подобные зависимости и не допускает удаление объектов, от которых зависят другие объекты базы данных. Основная информация о зависимостях хранится в таблице RDB$DEPENDENCIES.
Приведенный ниже запрос отображает зависимость объектов (RDB$DEPENDENT_NAME) от других объектов (RDB$DEPENDED_ON_NAME), а так же возвращает перечень полей, которые образуют эту зависимость (RDB$FIELD_NAME).
SELECT RDB$DEPENDENCIES.RDB$DEPENDENT_NAME, RDB$TYPES.RDB$TYPE_NAME, RDB$DEPENDENCIES.RDB$DEPENDED_ON_NAME, RDB$TYPES1.RDB$TYPE_NAME, RDB$DEPENDENCIES.RDB$FIELD_NAME, RDB$DEPENDENCIES.RDB$DEPENDENT_TYPE, RDB$DEPENDENCIES.RDB$DEPENDED_ON_TYPE FROM RDB$DEPENDENCIES INNER JOIN RDB$TYPES ON (RDB$DEPENDENCIES.RDB$DEPENDENT_TYPE = RDB$TYPES.RDB$TYPE) INNER JOIN RDB$TYPES RDB$TYPES1 ON (RDB$DEPENDENCIES.RDB$DEPENDED_ON_TYPE = RDB$TYPES1.RDB$TYPE) WHERE ((RDB$TYPES.RDB$FIELD_NAME = 'RDB$OBJECT_TYPE') and (RDB$TYPES1.RDB$FIELD_NAME = 'RDB$OBJECT_TYPE')) ORDER BY RDB$DEPENDENCIES.RDB$DEPENDENT_NAME, RDB$DEPENDENCIES.RDB$DEPENDED_ON_NAME;