Использование KatOrg как таблицы в памяти |
Данные при инициализации загружаются в память:
ВИП:
//------------------------------------------------------------ create view v1 as select * from KatOrg(memory, autoLoad) ;
Принудительное считывание данных в таблицу в памяти:
if (mtRetrieve(#KatOrg, true)) ... if KatOrg.Retrieve(true) then ...
Переинициализация по ходу обработки в качестве таблицы в памяти, модификация с автоматическим сбросом:
create view v1 as select * from KatOrg ; ... // считываем содержимое в память и обрабатываем if (ReinitTable(#KatOrg, fmMemory+fmAutoLoad+fmAutoFlush)) { _loop KatOrg { if (<Что-нам-нужно>) update current KatOrg set поле = значение ; } } ... // Делам как было, данные попадают в БД if (ReinitTable(#KatOrg, fmNormal)) ...
Переинициализация по ходу обработки в качестве таблицы в памяти, модификация с записью в БД по ходу алгоритма:
create view v1 as select * from KatOrg ; ... // считываем содержимое в память if (ReinitTable( #KatOrg, fmMemory+fmAutoLod+fmWriteThru)) { if (getFirst KatOrg = tsOk) do { if (<Что-нам-нужно>) // данные попадают в БД здесь if (update current KatOrg set поле = значение <> tsOk) } while getNext KatOrg = tsOk } // Делам как было if (ReinitTable(#KatOrg, fmNormal)) ...
Переинициализация по ходу обработки в качестве таблицы в памяти, модификация с принудительным сбросом:
create view v1 as select * from KatOrg ; ... // считываем содержимое в память if (ReinitTable(#KatOrg, fmMemory+fmAutoLoad)) { // обрабатываем if (getFirst KatOrg = tsOk) do { if (<Что-нам-нужно>) update current KatOrg set <поле> = значение ; } while getNext KatOrg = tsOk if (<все-как-нужно>) // сбрасываем на диск if (mtFlush( #KatOrg , fmTransaction) <> tsOk) ... } // Делаем как было if (ReinitTable(#KatOrg, fmNormal)) ...