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

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Din
Сообщения: 11
Зарегистрирован: 14 сен 2005, 09:14

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

Сообщение Din » 13 дек 2005, 14:15

Как запросом получить список столбцов таблицы?
Пробовал через системные таблицы (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 возвращает так же и системные таблицы, а это НЕ надо.

stix-s
Заслуженный разработчик
Сообщения: 557
Зарегистрирован: 13 дек 2005, 11:52

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

Сообщение stix-s » 13 дек 2005, 14:25

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 13 дек 2005, 14:27


Din
Сообщения: 11
Зарегистрирован: 14 сен 2005, 09:14

Сообщение Din » 13 дек 2005, 14:45

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 и т.п инфу. Тоже бы не хотелось.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 13 дек 2005, 15:06

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

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

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

and RDB$RELATION_NAME not starting with 'IBE$'

Din
Сообщения: 11
Зарегистрирован: 14 сен 2005, 09:14

Сообщение Din » 13 дек 2005, 15:17

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

Ответить