2017 中山市高中排名:高手,帮忙给看一下存储过程的问题!

来源:百度文库 编辑:中科新闻网 时间:2024/04/26 15:55:49
我们的一个客户采用的一个存储过程来进行会员卡卡的xfje(消费金额)、总积分、领取积分、剩余积分的计算,其中jxc_dj_1_pos(前台的零售单大概)内有kh_kmdm_hyk(会员卡),jxc_dj_2_pos中有具体的零售商品的明细,如果spbm='jf',则领取积分=‘jf‘的数量,但是很多情况,明明客户没有领取积分(就是说他没有消费‘jf'商品),但是其
领取积分(jf_use)显示领取过,我如何查出到底是什么问题导致的。

这个问题困扰我几个月了,如果您是编程高手,希望能帮帮我!必有重谢!

---写会员卡消费金额
set @kh_kmdm_hyk = ''
set @kh_kmdm_hyk_xfje = 0
select @kh_kmdm_hyk = kh_kmdm_hyk, @kh_kmdm_hyk_xfje = ysje from jxc_dj_1_pos where bh = @bh and bm_gsjg = @bm_gsjg and kh_kmdm_hyk <> ''
if @@error < 0 return
begin
------------------xyb
select @jf_je = isnull(sum(je),0) from jxc_dj_2_pos join jxc_spbm on (jxc_dj_2_pos.sp_kmdm = jxc_spbm.kmdm )
where bh = @bh and bm_gsjg = @bm_gsjg and sp_kmdm <> 'jf'
select @jf_use = isnull(sum(sl),0) from jxc_dj_2_pos where bh = @bh and bm_gsjg = @bm_gsjg and sp_kmdm = 'jf' group by sp_kmdm
update jxc_khbm_hyk set xfje = isnull(xfje,0) + @kh_kmdm_hyk_xfje,
jf_sum = isnull(jf_sum,0) + isnull(@jf_je,0)/10,
jf=@bh,
jf_use = isnull(jf_use,0) + isnull(@jf_use,0)
where kmdm = @kh_kmdm_hyk
end
---if @@error < 0 return
注意:后台SQL server2000数据库(加的sp3a补丁),前台采用的宽带连接,每隔几秒钟就自动上传前台零售单到后台!存储过程上面不全,希望大家给我好的检测方法或者如何修改?程序本身是一个品牌软件,我做过程序的这个存储过程的部分修改!现在偶尔出现的不正常的情况是:比如001会员消费正常的商品,后台会员卡资料中的jf_use却增加了数量。如果001不消费,他的jf_use是不会变化的。似乎是我的程序取数的问题!
万分感谢了!qq:33221674

实在是不懂,,,,,,没有办法