[ОТВЕТИТЬ]
Опции темы
23.11.2012 14:21  
whitewizard
давно была задача считать накопление в течении месяца и если сумма покупок по карте больше 5000, карта блокировалась и начинала работать со следующего месяца. скрипт запускался каждую ночь:
(cardtype=5 - тип карты, 5000 - сумма покупок)
Цитата:
update supermag.smdiscpers set lastchange=sysdate, validtill=sysdate where code in
((SELECT b.code
FROM
SUPERMAG.SMDISCPERS B,
SUPERMAG.smactivityclient H,
SUPERMAG.SMCLIENTINFO F
WHERE
(cardtype=5) AND
(B.CLIENT = F.ID (+)) AND
(B.CODE = H.CODE) and
(h.createdat>=(trunc(sysdate,'MM'))) and
(h.createdat<(last_day(sysdate)))
and (b.validtill>=sysdate)
GROUP BY
B.CODE
having SUM(H.sumsale)>=5000));
commit;

insert into smpostqueue(enqtime,enqseq,target,objtype,objid,paramint,paramstr,transflags,virtpack,commentary) select sysdate,rownum,null,'DC', code , null, null, 0,null, null from smdiscpers where to_char(lastchange,'DDMMYYYY')=to_char(sysdate,'DDMMYYYY');
commit;

exit;
а этот запускался 1 числа месяца:
Цитата:
update supermag.smdiscpers set lastchange=sysdate, validtill=last_day(sysdate)+1 where cardtype=5;
commit;
insert into smpostqueue(enqtime,enqseq,target,objtype,objid,paramint,paramstr,transflags,virtpack,commentary) select sysdate,rownum,null,'DC', code , null, null, 0,null, null from smdiscpers where to_char(lastchange,'DDMMYYYY')=to_char(sysdate,'DDMMYYYY');
commit;


exit;
небольшим допиливанием можно сделать перенос карты из одной группы в другую (например, если у карт с разными процентами скидок, разные ограничения на группы)
 
 
Опции темы



Часовой пояс GMT +3, время: 15:26.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.