Я не знаю IBExpert, но обычно в Firebird вы можете найти зависимости в системной таблице RDB$DEPENDENCIES
.Он не скажет вам точно, в какой строке кода используется поле, но поможет вам определить, в каком объекте оно используется.Затем нужно проверить исходный код этого конкретного объекта, чтобы увидеть, где он используется.
Таблица RDB$DEPENDENCIES
имеет следующие столбцы (в Firebird 2.5):
RDB$DEPENDENT_NAME
- Имя «зависимого» (объекта, использующего зависимость), например, имя хранимой процедуры RDB$DEPENDED_ON_NAME
- Имя зависимости (например, имя таблицы) RDB$FIELD_NAME
- Имя поля зависимости (например, столбец таблицы);может быть NULL
для неполевых зависимостей RDB$DEPENDENT_TYPE
- Тип зависимого (например, 0 = отношение (таблица или представление), см. RDB$TYPES
с RDB$FIELD_NAME = 'RDB$OBJECT_TYPE
для возможных значений) RDB$DEPENDED_ON_TYPE
- Тип зависимости (зависимости столбца имеют тип 0 и RDB$FIELD_NAME
не ноль, зависимости таблицы / представления имеют тип 0 и RDB$FIELD_NAME
ноль.
Например,Вы можете использовать следующий запрос:
select dep.*, tt.RDB$TYPE_NAME as DEPENDENT_OBJECT_TYPE, dt.RDB$TYPE_NAME as DEPENDED_ON_OBJECT_TYPE
from RDB$DEPENDENCIES dep
inner join RDB$TYPES tt
on tt.RDB$TYPE = dep.RDB$DEPENDENT_TYPE
and tt.RDB$FIELD_NAME = 'RDB$OBJECT_TYPE'
inner join RDB$TYPES dt
on dt.RDB$TYPE = dep.RDB$DEPENDED_ON_TYPE
and dt.RDB$FIELD_NAME = 'RDB$OBJECT_TYPE'