InterBase - статьи


              

из которой можно получить текстовое


Приведенный ниже запрос написан с включением в него таблицы RDB$TYPES, из которой можно получить текстовое описание типа поля.
SELECT RDB$RELATIONS.RDB$RELATION_NAME, RDB$RELATION_FIELDS.RDB$FIELD_NAME, RDB$RELATION_FIELDS.RDB$FIELD_POSITION, RDB$RELATION_FIELDS.RDB$FIELD_SOURCE, RDB$RELATION_FIELDS.RDB$NULL_FLAG, RDB$RELATION_FIELDS.RDB$DEFAULT_SOURCE, RDB$FIELDS.RDB$COMPUTED_SOURCE, RDB$FIELDS.RDB$DEFAULT_SOURCE, RDB$FIELDS.RDB$NULL_FLAG, RDB$FIELDS.RDB$FIELD_TYPE, RDB$TYPES.RDB$TYPE_NAME, RDB$FIELDS.RDB$FIELD_SUB_TYPE, RDB$FIELDS.RDB$FIELD_LENGTH, RDB$FIELDS.RDB$FIELD_SCALE FROM RDB$RELATIONS INNER JOIN RDB$RELATION_FIELDS ON (RDB$RELATIONS.RDB$RELATION_NAME = RDB$RELATION_FIELDS.RDB$RELATION_NAME) INNER JOIN RDB$FIELDS ON (RDB$RELATION_FIELDS.RDB$FIELD_SOURCE = RDB$FIELDS.RDB$FIELD_NAME) INNER JOIN RDB$TYPES ON (RDB$FIELDS.RDB$FIELD_TYPE = RDB$TYPES.RDB$TYPE) WHERE ((RDB$RELATIONS.RDB$SYSTEM_FLAG = 0) and (RDB$RELATIONS.RDB$VIEW_SOURCE IS NULL ) and (RDB$TYPES.RDB$FIELD_NAME = 'RDB$FIELD_TYPE')) ORDER BY RDB$RELATIONS.RDB$RELATION_NAME, RDB$RELATION_FIELDS.RDB$FIELD_POSITION;
Следующий простой запрос покажет количество полей в таблицах.
SELECT RDB$RELATIONS.RDB$RELATION_NAME, count(RDB$RELATION_FIELDS.rdb$field_name) KOL FROM RDB$RELATIONS INNER JOIN RDB$RELATION_FIELDS ON (RDB$RELATIONS.RDB$RELATION_NAME = RDB$RELATION_FIELDS.RDB$RELATION_NAME) WHERE ((RDB$RELATIONS.RDB$SYSTEM_FLAG = 0) and (RDB$RELATIONS.RDB$VIEW_SOURCE IS NULL)) GROUP BY RDB$RELATIONS.RDB$RELATION_NAME ORDER BY RDB$RELATIONS.RDB$RELATION_NAME;
А этот запрос, аналогичный предыдущему, выдает количество полей, на которых построены запросы.
SELECT RDB$RELATIONS.RDB$RELATION_NAME, count(RDB$RELATION_FIELDS.rdb$field_name) KOL FROM RDB$RELATIONS INNER JOIN RDB$RELATION_FIELDS ON (RDB$RELATIONS.RDB$RELATION_NAME = RDB$RELATION_FIELDS.RDB$RELATION_NAME) WHERE ((RDB$RELATIONS.RDB$SYSTEM_FLAG = 0) and (RDB$RELATIONS.RDB$VIEW_SOURCE IS NOT NULL)) GROUP BY RDB$RELATIONS.RDB$RELATION_NAME ORDER BY RDB$RELATIONS.RDB$RELATION_NAME;

Содержание  Назад  Вперед