Показать сообщение отдельно
Старый 14.03.2014, 10:01   #4  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
2 S.Kuskov

Кстати, да, если сделать через insert_recordset, то опять будет 184 записи вставлено.
И это нормально.

По поводу приведённой ссылки - я её видел раньше и в ней отписывался.
И опять таки не считаю, что должно быть по-другому.

Т.е. сначала должен отработать внешний запрос и получить результирующее множество. И изменение записей в уже в этом цикле не должно оказывать никакого влияния на это результирующее множество - т.е. по сути мы должны получать их из "снэпшота".

Более того, что касается конкретно данного случая - то там значения комбинации InventTransId, InventBatchId, SequenceNumber в выбранных данных - уникально!
Поэтому даже если б и учитывались данные вставленные внутри цикла, то всё равно результат не должен быть таким и сортировка не может на него повлиять.

Может я, конечно, всё ещё живу Ораклом, где такое в принципе невозможно.
Но такое поведение является источником непредсказуемости поведения системы на разных данных и просто рвёт все мои шаблоны...

Upd: Кстати говоря, проблемы в этом месте были замечены только для случаев когда кол-во попадающих записей в запрос превышает 100.
Если меньше 100, то вроде как (говорят) всегда отрабатывает корректно.
__________________
Zhirenkov Vitaly

Последний раз редактировалось ZVV; 14.03.2014 в 10:10.