我的游标是这样的,数据一共两条,为什么我不能取到第一条记录而且第二条
记录取到了两次,请帮我看看是不是游标写的有问题?DECLARE @NAME VARCHAR(255),@NEIRONG VARCHAR(255),@TIME numeric(18,2),@QTY numeric(18,2)
DECLARE Gongzuoliang_Cursor CURSOR FOR
SELECT 担当者,工作内容,sum(时间),sum(数量) FROM Rep_D29 WHERE 作业日期 between @begintime and @endtime GROUP BY 担当者,工作内容OPEN Gongzuoliang_CursorFETCH NEXT FROM Gongzuoliang_Cursor INTO @NAME,@NEIRONG,@TIME,@QTY
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM Gongzuoliang_Cursor INTO @NAME,@NEIRONG,@TIME,@QTY
if @NEIRONG= '第二次提货'
set @QTY=@QTY/@ldt_erti
else if @NEIRONG='入库确认数量'
set @QTY=@QTY/@ldt_ruku
else if @NEIRONG='分类数量'
set @QTY=@QTY/@ldt_fenlei
else if @NEIRONG='贴表贴'
set @QTY=@QTY/@ldt_biaotie
else if @NEIRONG='封口'
set @QTY=@QTY/@ldt_fenkou
else if @NEIRONG='检品'
set @QTY=@QTY/@ldt_jianpin
else if @NEIRONG='检品捆包'
set @QTY=@QTY/@ldt_jianpinkunbao
else if @NEIRONG='上货架'
set @QTY=@QTY/@ldt_shanghuojia
else if @NEIRONG='提货'
set @QTY=@QTY/@ldt_tihuo
else if @NEIRONG='盘点'
set @QTY=@QTY/@ldt_pandian
else if @NEIRONG='移库'
set @QTY=@QTY/@ldt_yiku
else
set @QTY=@QTY
insert into temp values(@NAME,@NEIRONG,@QTY)
END
CLOSE Gongzuoliang_Cursor
DEALLOCATE Gongzuoliang_Cursor
记录取到了两次,请帮我看看是不是游标写的有问题?DECLARE @NAME VARCHAR(255),@NEIRONG VARCHAR(255),@TIME numeric(18,2),@QTY numeric(18,2)
DECLARE Gongzuoliang_Cursor CURSOR FOR
SELECT 担当者,工作内容,sum(时间),sum(数量) FROM Rep_D29 WHERE 作业日期 between @begintime and @endtime GROUP BY 担当者,工作内容OPEN Gongzuoliang_CursorFETCH NEXT FROM Gongzuoliang_Cursor INTO @NAME,@NEIRONG,@TIME,@QTY
WHILE @@FETCH_STATUS = 0
BEGIN
FETCH NEXT FROM Gongzuoliang_Cursor INTO @NAME,@NEIRONG,@TIME,@QTY
if @NEIRONG= '第二次提货'
set @QTY=@QTY/@ldt_erti
else if @NEIRONG='入库确认数量'
set @QTY=@QTY/@ldt_ruku
else if @NEIRONG='分类数量'
set @QTY=@QTY/@ldt_fenlei
else if @NEIRONG='贴表贴'
set @QTY=@QTY/@ldt_biaotie
else if @NEIRONG='封口'
set @QTY=@QTY/@ldt_fenkou
else if @NEIRONG='检品'
set @QTY=@QTY/@ldt_jianpin
else if @NEIRONG='检品捆包'
set @QTY=@QTY/@ldt_jianpinkunbao
else if @NEIRONG='上货架'
set @QTY=@QTY/@ldt_shanghuojia
else if @NEIRONG='提货'
set @QTY=@QTY/@ldt_tihuo
else if @NEIRONG='盘点'
set @QTY=@QTY/@ldt_pandian
else if @NEIRONG='移库'
set @QTY=@QTY/@ldt_yiku
else
set @QTY=@QTY
insert into temp values(@NAME,@NEIRONG,@QTY)
END
CLOSE Gongzuoliang_Cursor
DEALLOCATE Gongzuoliang_Cursor
DECLARE @NAME VARCHAR(255),@NEIRONG VARCHAR(255),@TIME numeric(18,2),@QTY numeric(18,2)
DECLARE Gongzuoliang_Cursor CURSOR FOR
SELECT 担当者,工作内容,sum(时间),sum(数量) FROM Rep_D29 WHERE 作业日期 between @begintime and @endtime GROUP BY 担当者,工作内容OPEN Gongzuoliang_CursorFETCH NEXT FROM Gongzuoliang_Cursor INTO @NAME,@NEIRONG,@TIME,@QTY
WHILE @@FETCH_STATUS = 0
BEGIN
--FETCH NEXT FROM Gongzuoliang_Cursor INTO @NAME,@NEIRONG,@TIME,@QTY
if @NEIRONG= '第二次提货'
set @QTY=@QTY/@ldt_erti
else if @NEIRONG='入库确认数量'
set @QTY=@QTY/@ldt_ruku
else if @NEIRONG='分类数量'
set @QTY=@QTY/@ldt_fenlei
else if @NEIRONG='贴表贴'
set @QTY=@QTY/@ldt_biaotie
else if @NEIRONG='封口'
set @QTY=@QTY/@ldt_fenkou
else if @NEIRONG='检品'
set @QTY=@QTY/@ldt_jianpin
else if @NEIRONG='检品捆包'
set @QTY=@QTY/@ldt_jianpinkunbao
else if @NEIRONG='上货架'
set @QTY=@QTY/@ldt_shanghuojia
else if @NEIRONG='提货'
set @QTY=@QTY/@ldt_tihuo
else if @NEIRONG='盘点'
set @QTY=@QTY/@ldt_pandian
else if @NEIRONG='移库'
set @QTY=@QTY/@ldt_yiku
else
set @QTY=@QTY
insert into temp values(@NAME,@NEIRONG,@QTY)
--应该是放在这里
FETCH NEXT FROM Gongzuoliang_Cursor INTO @NAME,@NEIRONG,@TIME,@QTY
END
CLOSE Gongzuoliang_Cursor
DEALLOCATE Gongzuoliang_Cursor
FETCH NEXT FROM Gongzuoliang_Cursor INTO @NAME,@NEIRONG,@TIME,@QTY --这句也不用,把它加到 End 前面