我不知道 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$TYPESwithRDB$FIELD_NAME = 'RDB$OBJECT_TYPE了解可能的值)RDB$DEPENDED_ON_TYPE- 依赖项的类型(列依赖项的类型为 0 且不RDB$FIELD_NAME为 null,表/视图依赖项的类型为 0 且为RDB$FIELD_NAMEnull。例如,您可以使用以下查询:
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'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1853 次 |
| 最近记录: |