![]() |
#2 |
Administrator
|
я бы не стал считать это багом. Это вполне ожидаемый баг разработчика повторного использования одних и тех же переменных. Курсор в select и курсор в update должны отличаться. И если первый был выбран с определенными параметрами - то как система должна догадаться, что в update_recordset она должна выполнить операцию без оглядки на первый курсор?
Т.е. рекомендация такая. Есть переменные, которые используются для выборки (только чтения). Есть переменные, которые используются для записи (выбранные с forupdate). И есть переменные, которые по сути своей курсора в БД не создают (ну с т.з. разработчика это не видно), а лишь обозначают таблицу, над которой надо выполнить определенные действия (это для delete_from и update_recordset). Ведь выбрав записи без forupdate никто ж не пытается обновить данные. А если хочется обновить - то делается повторная выборка с forupdate. Так и тут - эта переменная просто обозначает таблицу и не должна нести на себе "груз" дополнительной ответственности. Так что это больше похоже на фичу. Но весьма интересную фичу. - Я тебе дал два яблока. Затем потом одно забрал. Сколько у тебя осталось? - Одно - Неправильно. Ведь неизвестно - сколько их было у тебя до того как я тебе их дал.
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: Gustav (2). |
Теги |
курсор |
|
![]() |
||||
Тема | Ответов | |||
Все же - приколы KR 1-3 | 0 | |||
Приколы нашей системы - импорт объектов | 4 | |||
Курсоры | 20 |
|