Condition на таблицу в памяти

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Condition на таблицу в памяти

Сообщение savov »

Здравствуйте!
Подскажите, плиз, как описать Condition на таблицу, созданную в памяти. По доке такая возможность вроде предусмотрена, но никаких примеров нет, и в описании таблицы в памяти тоже такого не указано (хотя пишут, что все свойства логической таблы сохраняются). Компилятор на слово Condition в описании таблицы в памяти ругается.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Condition на таблицу в памяти

Сообщение m0p3e »

А зачем его описывать в описании таблицы в памяти?
Его описывать нужно в Create View.
Ged
Местный житель
Сообщения: 645
Зарегистрирован: 29 мар 2005, 17:49
Контактная информация:

Re: Condition на таблицу в памяти

Сообщение Ged »

Код: Выделить всё

Interface testCont;

Table Struct tC
(
  Nrec : Comp
, iNum : Integer
, sName: String
)
with index
(
  tC01 = Nrec (Unique,Surrogate)
);

Create view
As Select *
From
 tC
Condition even = (tC.iNum And 1)=0  // Тока четные
;

browse br01
 table tC;
Fields
   iNum : Protect;
   sName: Protect;
end;

HandleEvent
cmInit:
 {
   Insert tC Set iNum:=1, sName:='Раз';
   Insert tC Set iNum:=2, sName:='Два';
   Insert tC Set iNum:=3, sName:='Три';
   Insert tC Set iNum:=4, sName:='Четыре';
   Insert tC Set iNum:=5, sName:='Пять';
   PushCondition(tcEven)
 }
end;
end.
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: Condition на таблицу в памяти

Сообщение savov »

Спасибо! Понял!
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Condition на таблицу в памяти

Сообщение Алексей »

а зачем вообще кондишны на таблицу в памяти? вы же сами её описываете и можете сделать нужные вам индексы.
Serges
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49

Re: Condition на таблицу в памяти

Сообщение Serges »

Алексей писал(а):а зачем вообще кондишны на таблицу в памяти? вы же сами её описываете и можете сделать нужные вам индексы.
Самый простой пример - вывод данных в отчет в зависимости от установленных параметров в диалоге формирования этого отчета. Проще говоря - фильтрация потока.
Галактика 8.10, Oracle 10g / 10.2.0.4
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Re: Condition на таблицу в памяти

Сообщение Vik »

И почему вы думаете, что нельзя ваш пример реализовать, используя индексы?)
Serges
Местный житель
Сообщения: 228
Зарегистрирован: 29 мар 2005, 17:49

Re: Condition на таблицу в памяти

Сообщение Serges »

Vik писал(а):И почему вы думаете, что нельзя ваш пример реализовать, используя индексы?)
Я-то как раз так не думаю ))
Галактика 8.10, Oracle 10g / 10.2.0.4
oiko
Местный житель
Сообщения: 417
Зарегистрирован: 29 мар 2005, 17:49

Re: Condition на таблицу в памяти

Сообщение oiko »

Так и пропишите эти фильтры как индексы.
Дополнительные индексы влияют только на размер таблицы.
Если конечно при 10 полях при 100000 записей у вас 100 индексов то это будет критично, но почему тогда так оригинально решается задача?
Ответить