Показать сообщение отдельно
Старый 14.09.2011, 12:34   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,430 / 1772 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от niksen Посмотреть сообщение
Сделать всё в цикле, который будет перебирать все строки спецификаций, т.е. таблицу BOM...
Возможное решение:

Сделать всё в цикле, который будет перебирать строки таблицы InventTable...
Лучше будет сделать всё в цикле (а ещё лучше без цикла - одним групповым запросом), который будет перебирать все строки запроса, в котором будут сразу обе таблицы. Тогда при построении плана выплнения в каждой конкретной ситуации автоматически будет выбран оптимальны способ соединения таблиц.

X++:
update_recordset BOM
setting BOMType = BOMType::Production
where
    BOM.BOMType == BOMType::Item
exists join InventTable
where
    InventTable.ItemId == BOM.ItemId &&
    InventTable.ItemType == ItemType::BOM;

Последний раз редактировалось S.Kuskov; 14.09.2011 в 12:48.
За это сообщение автора поблагодарили: niksen (1).