循环错了if (@deletecount=0 and @insertcount>0) begin--插入情况
declare cursor_rckjl cursor for
select kjnd,kjqj,ssckmc,clbh,clsl,clje,bz
from inserted
order by ssckmc,
clbh
open cursor_rckjl fetch next
from cursor_rckjl
into @kjnd,@kjqj,@ssckmc,@clbh,@clsl,@clje,@bz while(@@Fetch_status=0) begin
if @bz=1 or @bz=5 begin
update Ck_main set bqrk_sl=bqrk_sl+@clsl,bqrk_je=bqrk_je+@clje where kjnd=@kjnd and kjqj=@kjqj and ckmc=@ssckmc and clbh=@clbh
end
else begin
update Ck_main set bqck_sl=bqck_sl+@clsl,bqck_je=bqck_je+@clje where kjnd=@kjnd and kjqj=@kjqj and ckmc=@ssckmc and clbh=@clbh
end
fetch next
from cursor_rckjl
into @kjnd,@kjqj,@ssckmc,@clbh,@clsl,@clje,@bz
end
close cursor_rckjl
deallocate cursor_rckjl
end
declare cursor_rckjl cursor for
select kjnd,kjqj,ssckmc,clbh,clsl,clje,bz
from inserted
order by ssckmc,
clbh
open cursor_rckjl fetch next
from cursor_rckjl
into @kjnd,@kjqj,@ssckmc,@clbh,@clsl,@clje,@bz while(@@Fetch_status=0) begin
if @bz=1 or @bz=5 begin
update Ck_main set bqrk_sl=bqrk_sl+@clsl,bqrk_je=bqrk_je+@clje where kjnd=@kjnd and kjqj=@kjqj and ckmc=@ssckmc and clbh=@clbh
end
else begin
update Ck_main set bqck_sl=bqck_sl+@clsl,bqck_je=bqck_je+@clje where kjnd=@kjnd and kjqj=@kjqj and ckmc=@ssckmc and clbh=@clbh
end
fetch next
from cursor_rckjl
into @kjnd,@kjqj,@ssckmc,@clbh,@clsl,@clje,@bz
end
close cursor_rckjl
deallocate cursor_rckjl
end
open cursor_rckjl
fetch next from cursor_rckjl into @kjnd,@kjqj,@ssckmc,@clbh,@clsl,@clje,@bz
while(@@Fetch_status=0)
begin
if
...
else
...
fetch next from cursor_rckjl into @kjnd,@kjqj,@ssckmc,@clbh,@clsl,@clje,@bz
end
close cursor_rckjl
deallocate cursor_rckjl
update m
set bqrk_sl=m.bqrk_sl+case when bz=1 or bz=5 then clsl else 0 end,
bqrk_je=m.bqrk_je+case when bz=1 or bz=5 then clje else 0 end,
bqck_sl=m.bqck_sl+case when bz=1 or bz=5 then 0 else clsl end,
bqck_je=m.bqck_je+case when bz=1 or bz=5 then 0 else clje end
from Ck_main m,inserted i
where m.kjnd=i.kjnd and m.kjqj=i.kjqj and m.ckmc=i.ssckmc and m.clbh=i.clbh