
Динамический индекс
Модераторы: m0p3e, edward_K, Модераторы
Динамический индекс
Можно ли задавать индекс динамически? Например, в select'е таблица katmc(x), где - х -нужный индекс. Если можно то хотелось бы узнать какото типа будет в данном случае х? 

-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Динамический индекс
а нафига? Обычно все регулируется поднятием соотв. порядка(для всей лог.таблицы) или bounds c ordred by. Ну не удобно - зато по коду понятно. По идее там номер индекса, но вот скушает ли компилятор?. Есть функции по работе с префиксом таблицы.
например посмотрите. Но проще выгрузить во времянку , по переменной изменить поле для сортировке и все.
Код: Выделить всё
function GetGrOrEq (iTable : integer;
iIndex : integer
) : boolean;
Re: Динамический индекс
Для сортировки нужно. Потому что, если order by использовать, и setorder устанавливать - долго процесс идёт открытия окна, а по индексу как-то сразу получается. Времянка подошла бы, если б не небыло вставки в таблицу, которая хранится в БД.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: Динамический индекс
если 2,3 сортировки нужно то сделайте несколько bounds и подымайте их
тут главное не свалится во внешную выгрузку(поля подбираете под условие фильтрации и существующие индексы)
или ordered by index ....
в коде pushbounds(tbMainBound_nsopr). Такие bounds не желательно добавлять через AddBounds.
Код: Выделить всё
bounds MainBound_nsopr =
TypeSopr == KatSopr.VidSopr
ordered by KatSopr.Vidsopr,katsopr.yearsopr,katSopr.NSopr
bounds dMainBound_nsopr =
TypeSopr == KatSopr.VidSopr and
year(begdate) == KatSopr.yearsopr
and (begdate<=katsopr.dsopr and enddate >= KatSopr.dSopr)
ordered by KatSopr.Vidsopr,katsopr.yearsopr,katSopr.NSopr
или ordered by index ....
в коде pushbounds(tbMainBound_nsopr). Такие bounds не желательно добавлять через AddBounds.