Ранее еще с тройки время от времени использовал такую конструкцию например:
X++:
ttsbegin;
while select ledgerJournalTrans {
i++;
...
if (i mod 100 == 0) {
ttscommit;
ttsbegin;
}
}
ttscommit;
и как то не помню чтобы сталкивался с проблемой. А тут вдруг столкнулся с зацикливанием. Гдето после 110-120 записи ledgerJournalTrans начинает выборку с начала. Причем в моем данном, случае внутри цикла ledgerJournalTrans вообще никак не менялся. Был в недоумении. Пришлось задуматься. Переписал на:
X++:
while select ledgerJournalTrans {
i++;
if (first) {
ttsbegin;
first = false;
}
...
if (i mod 100 == 0) {
ttscommit;
ttsbegin;
}
}
if (!first)
ttscommit;
Все заработало нормально. В чем вопрос?
Да так.. просто хотелось узнать от спецов по работе с СУБД физику процесса)