一 : 有一张表 Fl_RuKu -- 辅料入库表
另外有一张 fl_KuCun --辅料库存表
二 :初始的时候 Fl_RuKu 表 中有这样的数据
三:运行完之后 fl_KuCun 表 中的数据是如下
三 我觉得 当fl_kucun 表中的第四行数据 应该是10才对。。问题是出不来这个结果,
四:以下是我的代码
declare MyCursor cursor for select KuWei,ShuLiang from FL_RuKu
open MyCursor
declare @KuWei int
declare @ShuLiang decimal(18,2)
fetch next from MyCursor into @KuWei,@ShuLiang
while(@@FETCH_STATUS=0)
begin
declare @ShuLiang_KuCun decimal(18,2)
select top 1 @ShuLiang_KuCun=ShuLiang from FL_KuCun where KuWei=@KuWei order by KuCunID desc
begin
insert into FL_KuCun (KuWei,ShuLiang) values(@KuWei,ISNULL(@ShuLiang_KuCun,0)+@ShuLiang)
end
fetch next from MyCursor into @KuWei,@ShuLiang
end
close MyCursor
deallocate MyCursor
该回复引自免费微信小程序-皆我百晓生:
根据您提供的代码,可以看出您使用了游标(cursor)在循环中进行了数据操作。在这段代码中,您通过游标从FL_RuKu表中选取了KuWei和ShuLiang两列的数据,然后在循环中根据KuWei在FL_KuCun表中查询最新的ShuLiang值,并将FL_RuKu表中的ShuLiang值插入到FL_KuCun表的相应行中。
根据您的描述,您期望在执行完后,FL_KuCun表的第四行数据的ShuLiang值应该是10。如果最终结果与您的期望不符,有几个可能的原因:
数据问题:请确保FL_RuKu表中第四行的ShuLiang值确实是10,如果不是,则可能是数据本身的问题。
数据匹配问题:请确保FL_KuCun表中的KuWei和FL_RuKu表的KuWei能够正确地匹配。比如,如果FL_RuKu表中的第四行的KuWei与FL_KuCun表中的KuWei没有匹配的行,则无法得到您期望的结果。
数据查询问题:在查询FL_KuCun表的最新ShuLiang值时,您使用了"select top 1"和"order by KuCunID desc"来获取最新的值。请确保这部分查询逻辑是正确的,并且能够获取到您期望的最新值。
其他逻辑问题:在这段代码中,我没有看到明显的其他问题。但是如果整个流程还有其他逻辑,比如更新FL_RuKu表或其他的数据处理操作,请确保这部分逻辑是正确的。
建议您逐步检查以上可能的问题,并确保每一步操作的正确性。除了调试代码逻辑,您还可以使用PRINT语句输出一些关键变量的值,以便更好地理解代码执行过程和调试问题。