游标的使用

在群里面有人问这个问题,我自己想了哈子,他说游标解决不了,靠。
游标都没怎么使用过,自己尝试下现学现卖
教大家应该数据的问题

订单号  商品代码       类别     数量  
00001  1223  01 1
00001  2211  01 2
00001  2323  02 1
00001  1231  02 3
00002  1231  01 2
00002  2340  01 3
00002  4342  02 1

我要达到一个目的:
相同的订单和类别,那么就合计相同的订单和类别的数量

我使用了游标始终没有达到目的

同订单并且同类别的就合计数量 增加到一个新的合计行

下面是我写的SQL执行语句

---建立游标
DECLARE authors_cursor CURSOR FOR
SELECT 订单号,类别,sum(数量)
FROM TABLE1
GROUP BY 订单号,类别

---打开游标
OPEN authors_cursor
DECLARE @leibie varchar(50),@dingdanhao varchar(50),@shuliang int   FETCH NEXT FROM authors_cursor
WHILE @@FETCH_STATUS = 0
BEGIN
    FETCH NEXT FROM authors_cursor
   INTO @dingdanhao,@leibie,@shuliang
---执行添加语句直接在下面将游标的每个数据添加进TABLE1
  INSERT INTO TABLE1 (订单号,类别,数量)values(@dingdanhao,@leibie,@shuliang)
END
---关闭游标
CLOSE authors_cursor
---删除游标
DEALLOCATE authors_sursor

至此问题似乎解决了。

原文地址:https://www.cnblogs.com/itgmhujia/p/1084492.html