Страница 1 из 1

Ускорение update

Добавлено: 21 июн 2006, 12:56
evgem
С помощью .ard отчёта читаю файл .dbf и по нему делаю изменения в таблицах. При выполнении выдаются последовательно сообщения:"формирование отчёта" и "осуществляю модификацию данных". Чтобы не создавался отчёт и ускорилась работа(много изменений), поставил опцию:
.form 'akt'
.f 'NUL'
Как написано в документации - при исполнении файл отчёта не создаётся. Тем не менее оба сообщения выдаются и ускорения в работе нет. Есть ли ещё какие способы для ускорения работы?

Добавлено: 23 июн 2006, 15:06
coolibin
Способы наверняка есть, однако не .f 'NUL'
Вам бы ответили, если бы вы привели хотя бы исходники - что там за модификации

Добавлено: 23 июн 2006, 17:48
evgem
Текст:
UPDATE katos WHERE
katos.innum = invnom SET katos.nameos:= naimen, katos.kol:= 1;
UPDATE spkatos WHERE ((spkatos.ckatos == katos.nrec))
and katos.innum = invnom SET spkatos.stoim:= perstm, spkatos.sumizn:= izn;

Добавлено: 23 июн 2006, 18:47
edward_K
изучатйе доку - вообще все криво, индексы то где?
.create view v
var invnom :string ;
as select katos.nrec
where ((
15 == katos.tidk and invnom== katos.innum
and katos.nrec == spkatos.ckatos
and ??????? == spkatos.cnastros )) ;
....
if v.getfirs katos=0
v.UPDATE current katos SET katos.nameos:= naimen, katos.kol:= 1;
if v.getfirst spkatos=0
v.UPDATE current spkatos SET spkatos.stoim:= perstm, spkatos.sumizn:= izn;

Добавлено: 29 июн 2006, 11:50
evgem
У меня ,наверное, другая документация: нет определения индекса, мемо поля или я не там смотрю? И где можно посмотреть, как правильно писать запросы? Примеров нет! Документация от 12.2004.

Добавлено: 10 июл 2006, 14:52
evgem
UPDATE, хоть и медленно, но работает. А ,если вместо UPDATE ставлю SELECT, то выдаётся ошибка компилятора. А задача таже: по каждой записи из файла .dbf найти запись в katos и spkatos. Может есть ещё какой способ решить эту проблему?