Программа iNETsHOP - обработка, сравнение, анализ прайс листов поставщиков, создание каталога товаров интернет магазина Форум - Программа iNETsHOP - Работа с программой - UAH и USD одновременно!!!


http://inetshop.in.ua/index.php?p=showtopic&toid=190&pp=15&page=1&area=1&print_post=746
22.07.2013 18:15

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Добавленный вами скрипт не зависит от справочников и таблиц. При вызове будет выполнен SQL-скрипт независимо от открытого справочника и/или выбраных строк какой-либо таблицы.

Если вы хотите одним вызовом пересчитать все цены №3 в товарах, товам лучше всего создать курсор на набор записей

SELECT G_ID FROM TBL_GOODS

и в цикле по всему набору для каждой строки выполнить например следующее изменение цены №3

UPDATE TBL_GOODS SET price3=price*8.2 WHERE G_ID = @G_ID, где 8.2 - пример курса USD, @G_ID - код товара полученный из курсора

Почему обновление лучше делать в курсоре? Да потому, что это не создаст нагрузку на подсистему логирования (которая при большом количестве обновляемых строк может сильно тормозить) и не будет одной общей транзакции, т.е. в момент запуска пересчета цены пользователи не будут заблокированы.