如下计算移动加权,有什么问题吗?

lyq 2004-06-22 08:15:23
CREATE PROCEDURE [dbo].[rk_jq]
@billno varchar(30),--流水号
@incode varchar(30),--商品编码
@fname varchar(100),--商品名称
@rsl numeric(18,4), --入库数量
@rdj numeric(18,4) --入库单价
--入库移动加权
AS

DECLARE
@zsl numeric(18,4),
@jqj numeric(18,4),
@zje numeric(18,4),
@xssl numeric(18,6),
@xsje numeric(18,6),
@sql nvarchar(4000)

set @zsl=0
set @zje=0



set @sql='SELECT TOP 1 @zsl=zsl,@jqj=jqj,@zje=zje FROM djk djk WHERE (incode = @incode) ORDER BY id DESC'
exec sp_executesql @sql,N' @incode varchar(30),@zsl numeric(18,6),@jqj numeric(18,6),@zje numeric(18,6) output',@incode=@incode,@zsl=@zsl,@jqj=@jqj,@zje=@zje output

set @sql='delete from djk where incode=@incode and fname=@fname and billno=@billno'
exec sp_executesql @sql,N' @incode varchar(30),@fname varchar(100),@billno varchar(30) output',@incode=@incode,@fname=@fname,@billno=@billno output

if @zsl>0 --此处有问题吧。两次的入库没有加在一起呢?
begin
set @sql='INSERT INTO djk(billno,incode,fname,rsl,rdj,rje,csl, cdj, cje, zsl, jqj, zje)
VALUES (@billno,@incode,@fname,@rsl,@rdj,@rsl*@rdj,0,0,0, (@zsl + @rsl), (@zje + @rsl*@rdj) / (@zsl + @rsl),(@zsl + @rsl)*(@zje + @rsl*@rdj) / (@zsl +@rsl)) '
exec sp_executesql @sql,N' @billno varchar(30), @incode varchar(30),@fname varchar(100),@rsl numeric(18,4),@zsl numeric(18,4),@zje numeric(18,4),@rdj numeric(18,4) output',@billno=@billno,@incode=@incode,@fname=@fname,@zsl=@zsl,@zje=@zje,@rsl=@rsl,@rdj=@rdj output
end
else
begin
set @sql='INSERT INTO djk(billno,incode,fname,rsl,rdj,rje,csl, cdj, cje, zsl, jqj, zje)
VALUES (@billno,@incode,@fname,@rsl,@rdj,@rsl*@rdj,0,0,0, @rsl, @rdj , @rsl* @rdj ) '
exec sp_executesql @sql,N' @billno varchar(30), @incode varchar(30),@fname varchar(100),@rsl numeric(18,4),@rdj numeric(18,4) output',@billno=@billno,@incode=@incode,@fname=@fname,@rsl=@rsl,@rdj=@rdj output
end

set @sql='SELECT @xssl=sum(csl),@xsje=sum(cje) FROM djk where incode=@incode'
exec sp_executesql @sql ,N' @incode varchar(30),@xssl numeric(18,6),@xsje numeric(18,6) output', @incode=@incode,@xssl=@xssl,@xsje=@xsje output
GO
...全文
141 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CsdnRob 2004-07-02
  • 打赏
  • 举报
回复
upupup!!!!!!!!!!!!!!1
lyq 2004-06-23
  • 打赏
  • 举报
回复
upupup!!!!!!!!!!!!!!1
lyq 2004-06-22
  • 打赏
  • 举报
回复
高高手,快来啊!!!!!!!!!!!!!!!!!!!!!!!!
lyq 2004-06-22
  • 打赏
  • 举报
回复
下面这样@zsl是否有值呢,不会一直都为0吧。

if @zsl>0 --此处有问题吧。两次的入库没有加在一起呢?
ujjcel 2004-06-22
  • 打赏
  • 举报
回复
关注.
yinweixian 2004-06-22
  • 打赏
  • 举报
回复
不是很明白,帮顶!

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧