亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

積分獲取和消費的存儲過程學習示例

2024-08-31 01:02:01
字體:
來源:轉載
供稿:網友

1.GM_JF客戶賬戶積分表

2. GM_JF_DETAIL客戶賬戶積分消費記錄

3. GM_JF_ACTION _RULES積分動作規則表

4.GM_JF_GOODS _RULES積分商品規則表

復制代碼 代碼如下:


-- ===============測試=======================================================
/*
declare @StatusCode int = 1;
exec sp_GM_JF_AddScore 'admin','AN_JF_001_001',1,5,0,'',@StatusCode output
print @StatusCode
*/
-- ===========================================================================
/*
* 判斷是否重復獲取積分(首次完善個人資料,首次修改密碼等等不能重復獲取積分)
* 判斷是根據 從GM_JF_DETAIL(詳情表)查詢周期內的數據條數與GM_JF_ACTION_RULES(動作規則表)內的周期重復次數對比
* 如果大于等于周期重復次數,則為重復獲取積分
* 接下來
*     1.詳情表的數據入庫
*     2.判斷總積分表是否存在對應客戶的總積分 沒有則插入一條新的,有 則讀取其數據,并更新
*
*/
ALTER PROCEDURE [dbo].[sp_GM_JF_AddScore]
@ACCOUNT_ID     varchar(30),
@JF_CategoryNumber varchar(15),
@CARD_NUM     int,
@HQ_JF_AMOUNT     int,
@State     varchar(16),
@USE_DESC     varchar(400),

@StatusCode     int output     -- 狀態碼: 0:失敗 1:成功 2: 不能重復獲取
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

declare
@repetitionsCycle     float=0,    --周期(天)
@repetitionsCycle_second    int=0,--周期(秒)
@repetitionsFrequency     int=0,    --一個周期內允許最大次數
@realFrequency     int=0,     --實際周期

@USE_DATE     datetime = GETDATE();
--是否重復獲取積分
select top(1) @repetitionsCycle=RepetitionsCycle,@repetitionsFrequency=RepetitionsFrequency from GM_JF_ACTION_RULES where AN_CategoryNumber=@JF_CategoryNumber;

if(@repetitionsCycle<1)
BEGIN
set @repetitionsCycle_second = (@repetitionsCycle-1)*24*60*60;
select @realFrequency=COUNT(1) from GM_JF_DETAIL where ACCOUNT_ID=@ACCOUNT_ID and JF_CategoryNumber=@JF_CategoryNumber and USE_DATE <= @USE_DATE and USE_DATE >= CONVERT(varchar(19),DATEADD(SECOND,-@repetitionsCycle_second,@USE_DATE),120)
END
ELSE
BEGIN
select @realFrequency=COUNT(1) from GM_JF_DETAIL where ACCOUNT_ID=@ACCOUNT_ID and JF_CategoryNumber=@JF_CategoryNumber and USE_DATE <= @USE_DATE and USE_DATE >= CONVERT(varchar(10),DATEADD(DAY,-(@repetitionsCycle-1),@USE_DATE),120)
END   

if(@realFrequency>=@repetitionsFrequency)    --實際周期大于周期次數
begin
set @StatusCode = 2;
return 2;
end

declare @count int = 0;     --數據條數
declare @temp_table table    --表變量
(
ACCOUNT_ID varchar(30),
JF_AMOUNT decimal(16,2),
TTL_JF_AMOUNT decimal(16,2),
Last_Update_Time datetime,
[Version] int
);

begin tran;
--插入詳情
insert into GM_JF_DETAIL
(ACCOUNT_ID,JF_CategoryNumber,CARD_NUM,HQ_JF_AMOUNT,[State],USE_DESC)
values
(@ACCOUNT_ID,@JF_CategoryNumber,@CARD_NUM,@HQ_JF_AMOUNT,@State,@USE_DESC)

--填充表變量
insert into @temp_table select ACCOUNT_ID,JF_AMOUNT,TTL_JF_AMOUNT,Last_Update_Time,[Version] from GM_JF where ACCOUNT_ID=@ACCOUNT_ID
select @count = count(1) from @temp_table;
--判斷并更新總積分(0:添加 其他:修改)
IF(@count=0)
begin
insert into GM_JF(ACCOUNT_ID,JF_AMOUNT,TTL_JF_AMOUNT)
values
(@ACCOUNT_ID,@HQ_JF_AMOUNT,@HQ_JF_AMOUNT)
end
else
begin
declare @JF_AMOUNT int,     --總積分
@TTL_JF_AMOUNT int,    --可用積分
@Version int;     --版本號

select @JF_AMOUNT=JF_AMOUNT,@TTL_JF_AMOUNT=TTL_JF_AMOUNT,@Version=[Version] from @temp_table where ACCOUNT_ID=@ACCOUNT_ID;

update GM_JF set JF_AMOUNT=(@JF_AMOUNT+@HQ_JF_AMOUNT),TTL_JF_AMOUNT=(@TTL_JF_AMOUNT+@HQ_JF_AMOUNT),Last_Update_Time=GETDATE(),[Version]=(@Version+1) where ACCOUNT_ID=@ACCOUNT_ID
end

Commit tran;
set @StatusCode = 1;

IF(@@ERROR<>0)
BEGIN
set @StatusCode = 0;
ROLLBACK tran;
END
END

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国内精品一区二区三区四区| 国产视频福利一区| 精品欧美激情精品一区| 神马久久久久久| 欧美成人网在线| 欧美猛男性生活免费| 精品久久久久久久中文字幕| 一区二区欧美日韩视频| 欧美日韩一区二区三区| 91大神福利视频在线| 欧美在线欧美在线| 国产丝袜高跟一区| 国产午夜精品一区理论片飘花| 久久久久久久久网站| 亚洲一区二区三区视频播放| 国产精品久久久久久久久久久久| 欧美一级成年大片在线观看| 亚洲国产成人爱av在线播放| 日本亚洲欧洲色α| 欧美成人免费大片| 成人激情在线播放| 国产91精品不卡视频| 国产欧美精品日韩| 欧美日韩在线看| 成人av.网址在线网站| 久久精品人人做人人爽| 日韩成人久久久| 91国产一区在线| 国产a级全部精品| 91日本在线视频| 国产精品一区二区久久国产| 国产情人节一区| 欧美日韩午夜视频在线观看| 色多多国产成人永久免费网站| 久久精品久久久久久国产 免费| 国产精品激情自拍| 欧美日韩亚洲一区二区| 亚洲激情国产精品| 亚洲最大激情中文字幕| **欧美日韩vr在线| 538国产精品一区二区在线| 最近日韩中文字幕中文| 亚洲成人黄色网址| 国产亚洲精品久久久久久牛牛| 久久天堂av综合合色| 国产精品igao视频| 午夜精品久久久久久久男人的天堂| 日韩av综合中文字幕| 国产xxx69麻豆国语对白| 欧美视频精品一区| 亚洲欧洲第一视频| 国产精品高精视频免费| y97精品国产97久久久久久| 欧美日韩国产综合新一区| 国产黑人绿帽在线第一区| 亚洲视频欧美视频| 欧美激情喷水视频| 亚洲香蕉成人av网站在线观看| 欧美日韩国产123| 亚洲小视频在线| 欧美成人免费va影院高清| 欧美在线免费看| 亚洲偷欧美偷国内偷| 成人免费视频网址| 日本午夜精品理论片a级appf发布| 日本精品久久久| 国产欧美亚洲视频| 亚洲a∨日韩av高清在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整| 黑人巨大精品欧美一区二区免费| 国产精品久久久久久久久免费看| 中文字幕亚洲一区二区三区五十路| 国产精品美女久久| 国产一区二区在线免费| 欧美国产亚洲视频| 亚洲专区国产精品| 亚洲激情电影中文字幕| 欧美视频免费在线| 国内精品久久久久久中文字幕| 最近中文字幕日韩精品| 日韩成人av网址| 久久久久久久激情视频| 欧美性xxxx极品高清hd直播| 久久久欧美精品| 久久久久久亚洲| 91免费观看网站| 在线观看国产精品日韩av| 国产成人精品免费久久久久| 中文字幕日本欧美| 2021久久精品国产99国产精品| 97在线视频免费看| 韩国欧美亚洲国产| 在线播放日韩精品| 91国产精品视频在线| 国产大片精品免费永久看nba| 91久久久国产精品| 欧美性在线视频| 久久6免费高清热精品| 欧美日韩一区二区三区| 国产精品久久久久久久电影| 亚洲在线观看视频网站| 亚洲精品福利视频| 精品成人国产在线观看男人呻吟| 国产欧美一区二区三区久久| 成人一区二区电影| 日韩黄色高清视频| 日韩精品中文字幕久久臀| 国产ts一区二区| 午夜免费久久久久| 国产精品国语对白| 欧美在线视频一区二区| 国产精品扒开腿做爽爽爽视频| 97国产成人精品视频| 亚洲精品电影网站| 亚洲精品网址在线观看| 奇米一区二区三区四区久久| 精品久久久久久久久久| 亚洲经典中文字幕| 久久av中文字幕| 91干在线观看| 色yeye香蕉凹凸一区二区av| 日韩免费av一区二区| 国产三级精品网站| 国产一区二区黑人欧美xxxx| 久久久国产视频| 色www亚洲国产张柏芝| 日韩精品久久久久久福利| 日本国产欧美一区二区三区| 日韩经典中文字幕在线观看| 亚洲视频在线免费看| 亚洲国产91精品在线观看| 亚洲精品久久久一区二区三区| 色系列之999| 91嫩草在线视频| 欧美性xxxx| 97国产真实伦对白精彩视频8| 久久久久久午夜| 亚洲人av在线影院| 日韩的一区二区| 欧美另类在线播放| 孩xxxx性bbbb欧美| 亚洲精品成人免费| 性色av一区二区三区| 在线播放日韩精品| 精品久久久久人成| 夜夜嗨av色一区二区不卡| 日韩美女av在线| 亚洲国产高清福利视频| 亚洲一区中文字幕在线观看| 成人性生交大片免费看视频直播| 欧美日韩精品在线视频| 欧美激情国产日韩精品一区18| 国产精品视频yy9099| 亚洲最大av网站| 日韩乱码在线视频| 国产精品久久久久久婷婷天堂| 欧美专区在线视频| 欧美亚洲第一页| 国产不卡视频在线| 欧美在线一级va免费观看| 久久乐国产精品| 两个人的视频www国产精品| 日韩暖暖在线视频| 亚洲一级黄色av|