Форум: "Базы";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
ВнизПолучить список полей, их типы и индексы при помощи SQL Найти похожие ветки
← →
-=XP=- © (2005-05-05 14:55) [0]Есть ли средства для получения списка полей в таблице (с указанием их типа данных, размера) при помощи SQL запроса? Какая системная таблица хранит эти данные?
Чтобы получить нечто наподобие:
Name Type Size
Field1 CHAR 10
Field2 INTEGER
Field3 TEXT
И то же самое по индексам: наименование индекса, какие поля входя в индекс, дополнительные параметры.
← →
DSKalugin © (2005-05-05 15:17) [1]Не знаю как там в SQL но обычными компонентами эту информацию можно получить манипулируя методами объектов TFieldDefs и TIndexDefs
← →
Lexer © (2005-05-05 16:16) [2]select R.RDB$RELATION_NAME, R.RDB$FIELD_POSITION, R.RDB$FIELD_NAME,
F.RDB$FIELD_LENGTH, F.RDB$FIELD_TYPE, F.RDB$FIELD_SCALE, F.RDB$FIELD_SUB_TYPE
from RDB$FIELDS F, RDB$RELATION_FIELDS R
where F.RDB$FIELD_NAME = R.RDB$FIELD_SOURCE and R.RDB$SYSTEM_FLAG = 0
order by R.RDB$RELATION_NAME, R.RDB$FIELD_POSITION
← →
-=XP=- © (2005-05-05 16:18) [3]Но как определить наличие индекса для таблицы без использования TADOTable? TADOQuery не имеет свойства IndexDefs. Каким образом определить наличие того или иного индекса в таблице?
← →
-=XP=- © (2005-05-05 16:21) [4]RDB$FIELDS
Was ist das?
В Access такого, увы, нет.
Всякие MSYSObjects, MSYSAccess не дают того, что нужно.
Может, какая-то скрытая таблица есть?
← →
Anatoly Podgoretsky © (2005-05-05 16:42) [5]В АДО есть понятие схема, возможно она доступна и для Акцесс. Через схему можно получить абсолютно все метаданные.
← →
DSKalugin © (2005-05-05 16:51) [6]>Но как определить наличие индекса для таблицы без использования TADOTable?
А чем тебе АДО не устраивает не могу понять. Чем как не АДО ковырять Акцесс?
>Каким образом определить наличие того или иного индекса в таблице?
Получить список индексов и проверить в нем наличие искомого с помощью TADOTable.GetIndexNames
← →
sniknik © (2005-05-05 17:45) [7]> ... возможно она доступна и для Акцесс.
точно доступна,
вплоть до связок по форейн кеу, и описателей (description) полей, не говоря уж о типах. и открывать таблицу (выкачивать все записи) только для узнавания структуры не придется.
-=XP=-
см. хелп по методу OpenSchema.
← →
Anatoly Podgoretsky © (2005-05-05 19:20) [8]Я подозревал :-)
Все таки Микрософт и он многое взял из Акцесс, ведь в свое время это был их продукт номер один, это сейчас они стараются перенаправить пользователей на MSDE
← →
Anatoly Podgoretsky © (2005-05-05 19:21) [9]sniknik © (05.05.05 17:45) [7]
И пример Adotest, там широко используется схема, для визуального создания запросов и много другого. Кстати очень приятный пример для ознакомления с возможностями АДО
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.06.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.033 c