![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
цикл в storeproc [D6, IB6.x]
jen_bond © (2002-10-12 10:32:00)Подскажите, как задать циклическую обработку данных в storeproc.
for SELECT DISTINCT SDELKA.ID_SDELKA,
SDELKA.suma_du,
SDELKA.periud,
PLACE.metrazh,
SDELKA.skidka
from sdelka
into :OP_DOGOVOR,:b,:c,:d,:e
f=p+1;
do
так он ругается, а если вынести за do то происходит только одна итерация.
for SELECT DISTINCT SDELKA.ID_SDELKA,
SDELKA.suma_du,
SDELKA.periud,
PLACE.metrazh,
SDELKA.skidka
from sdelka
into :OP_DOGOVOR,:b,:c,:d,:e
do
f=p+1;
Desdechado (2002-10-14 15:50:00) [1]
for SELECT DISTINCT SDELKA.ID_SDELKA,- а где ж таблица PLACE ?
SDELKA.suma_du,
SDELKA.periud,
PLACE.metrazh,
SDELKA.skidka
from sdelka
jen_bond (2002-10-12 14:17:00) [2]Списибо за помощь я разобрался!
AlexVinS (2002-10-12 14:15:00) [3]2 kaif извиняюсь в субботу мозги не так работают ...
kaif (2002-10-12 12:45:00) [4]А как ты узнаешь, что всего одна итерация?
У тебя какому-то f присваивается какое-то p+1.
Это может произойти 1000 раз и результат будет тот же.
Опиши подробнее проблему.
2 AlexVinS (12.10.02 11:57)
SUSPEND не нужен, если производится обработка. Он нужен только, если процедура должна возвращать набор данных (для внешнего SELECT). SUSPEND приостанавливает процедуру до очередного FETCH данных.
AlexVinS (2002-10-12 11:57:00) [5]Если не ошибаюсь надо писать так
...
do
BEGIN
f=p+1;
SUSPEND; /*!!!!*/
END;
У меня так работало