Показать сообщение отдельно
Старый 24.02.2004, 18:05   #14  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Почти... почти...
Вот пример запроса из InventUpd_Financial.updateFinancialReceipt(), отсекающего недопустимые статусы:
PHP код:
while select forupdate inventTrans
        Index hint TransIdIdx
        where inventTrans
.inventTransId     == movement.transId()         &&
              
inventTrans.statusIssue       == StatusIssue::None          &&
              
inventTrans.statusReceipt     == StatusReceipt::Received

Ваш запрос берет лишнее в случае частичной отгрузки/резервирования/регистрации и т.п.

И последняя [уже придирка] к несчастным 4 строчкам кода: if (inventTrans) лишено смысла, т.к. внутрь цикла while select можно войти только тогда, если запрос успешно вернул очередную проводку. if будет выполняться всегда.