![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Структура БД [D7, IB6.x]
kolos_rus © (2004-09-22 10:55:00)Подскажите пожалуйста как програмно узнать структуру таблицы, т.е. имя поля его тип и его размер.
-SeM- (2004-09-22 11:14:00) [1]Вместо 'ИМЯ ТАБЛИЦЫ' соответственно вставить имя интересующей таблицы
-SeM- (2004-09-22 11:13:00) [2]Выполнить запрос
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'))
AND (RDB$RELATIONS.RDB$RELATION_NAME = 'ИМЯ ТАБЛИЦЫ')
ORDER BY RDB$RELATIONS.RDB$RELATION_NAME, RDB$RELATION_FIELDS.RDB$FIELD_POSITION;
и почитать что нибудь о системных таблицах