Для того чтобы организовать торговлю в Интернет-магазине компании потребуется наличие всего одного Менеджера, контролирующего процесс автоматической работы магазина как из офиса компании, так и из любого места в Сети.
Каталог прайсов интернет магазинов - разместите свой прайс бесплатно
  Главная  |    О компании  |    Новости  |    Статьи  |    Форум  |    Клиенты  |    Обратная связь  |    Карта сайта
Добро пожаловать, Гость. Для того, чтобы отвечать на сообщения и создавать новые темы, Вам необходимо зарегистрироваться, если Вы уже зарегистрированы, то войдите используя Ваши E-Mail и Пароль.
Запомнить
Пароль
   
Форум
 Программа iNETsHOP » Пожелания
        Как ускорить изменения валюты (Справочник валют)
Как ускорить изменения валюты (Справочник валют)

14.04.2014 14:41

support


Support


Количество сообщений   1199
Зарегистрирован:   11-04-2008, 19:11:57
Пересчет курса валюты происходит в триггере TBL_CURRENCY#CHANGE_RATE таблицы TBL_CURRENCY. Большие задержки при пересчете курса у валюты, которая используется во многих товарах поставщиков, могут быть обусловлены нагрузкой на подсистему логирования при больших транзакциях.

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

Запускаем SQL Server Enterprise Manager для СУБД SQL Server 2000 или SQL Server Management Studio для более поздних версий и находим таблицу TBL_CURRENCY.



Переходим к администрированию триггеров и открываем триггер TBL_CURRENCY#CHANGE_RATE



В указанном триггере в коде закомментируем код, который отвечает за пересчет валюты при изменении курса



Теперь осталось только настроить пользовательский скрипт, который будем вызывать для валюты, курс который нужно пересчитать. Сам текст SQL-скрипта:

Код

DECLARE @l_iCUR_ID int, @l_iSG_ID int;
SET @l_iCUR_ID = :ID;
DECLARE cSG CURSOR LOCAL FOR
Select SG_ID from TBL_SUPPLIERS_GOODS WHERE SG_CUR_ID = @l_iCUR_ID FOR UPDATE;
OPEN cSG;
FETCH NEXT FROM cSG INTO @l_iSG_ID;
WHILE (@@FETCH_STATUS <> -1)
BEGIN
UPDATE TBL_SUPPLIERS_GOODS
SET SG_CUR_ID = @l_iCUR_ID
WHERE SG_ID = @l_iSG_ID AND SG_CUR_ID = @l_iCUR_ID;

FETCH NEXT FROM cSG INTO @l_iSG_ID;
END;
CLOSE cSG;
DEALLOCATE cSG;
Пользователь оффлайн Распечатать
 

Распечатать  |  Следующая тема  |  Предыдущая тема
Перейти
 

Статистика форума
Тем: 506, Сообщений: 3222, Пользователей: 2255
Приветствуем новичка по имени Gotit
Ближайшие дни рождения
Сегодня именинников нет


iNETsHOP - программа для формирования каталога товаров интернет-магазина и обработки прайсов Copyright 2007-2015 "Программа iNETsHOP - работа с прайс-листами поставщиков для интернет магазинов ®" iNETsHOP - обработка, объединение, анализ прайсов поставщиков и конкурентов