Страница 1 из 1

Как запросом получить список столбцов таблицы?

Добавлено: 13 дек 2005, 14:15
Din
Как запросом получить список столбцов таблицы?
Пробовал через системные таблицы (select distinct rdb$field_name from rdb$dependencies where rdb$dependencies.rdb$depended_on_name='TableName';), не то ... есть ли какие функции? Спасибо

И еще, если можно список таблиц базы данных, только пользовательских, не системных. Запрос вида SELECT RDB$RELATION_NAME from RDB$RELATIONS WHERE RDB$SYSTEM_FLAG=0 возвращает так же и системные таблицы, а это НЕ надо.

Re: Как запросом получить список столбцов таблицы?

Добавлено: 13 дек 2005, 14:25
stix-s
Din писал(а):Как запросом получить список столбцов таблицы?
запросом - это принципиально?
SELECT RDB$RELATION_NAME from RDB$RELATIONS WHERE RDB$SYSTEM_FLAG=0
- не возвращает системные, вот те крест!

Добавлено: 13 дек 2005, 14:27
kdv

Добавлено: 13 дек 2005, 14:45
Din
stix-s На счет запроса: нет не принципиально.

SELECT RDB$RELATION_NAME from RDB$RELATIONS WHERE RDB$SYSTEM_FLAG=0
Может и не возвращает, но возвращает кучу всего не нужного, типа IBE$LOG_BLOB_FIELDS, IBE$LOG_FIELDS и т.д. Как от этого избавиться.

kdv, спасибо, тоже интерестно, работает, но тоже возвращает IBE$VERSION_HISTORY и т.п инфу. Тоже бы не хотелось.

Добавлено: 13 дек 2005, 15:06
kdv
ты с sql знаком, хоть приблизительно? :)
а когда IBExpert попросил тебя создать таблицы в базе, ты согласился не читая? :)

IBE$ - это таблицы IBExpert, и это не системные таблицы, а вполне обычные.

Поэтому если тебе не нравятся такие таблицы, добавь в запрос (в where) фразу

and RDB$RELATION_NAME not starting with 'IBE$'

Добавлено: 13 дек 2005, 15:17
Din
:D
Ну, ладно, чеж так сразу, знаком конечно приблизительно. А если серьезно, то правда не подумал. Спасибо. Все получилось.