sql server一个使用游标的实例

--创建游标
DECLARE Cursor1 CURSOR FOR
SELECT NODE_NO,NODE_VALUE,SUM(RESALE_SUM-RESALERETU_SUM+SALE_SUM-SALERETU_SUM) sale_sum,
SUM(STORE_SUM) sum_store,SUM(STORE_SUM) store_sum,
sum(RESALE_PROFIT-RESALERETU_PROFIT+SALE_PROFIT-SALERETU_PROFIT-ADJUST_PROFIT) sale_profit
FROM tiger.BUSINESSREPORT20090702,tiger.GOODSINFO,tiger.PROD_TREE_MAST
WHERE RPT_GOODSNO=GDS_NO AND left(GDS_RIVALSHOP,4)=NODE_NO AND GDS_GRADE=3
GROUP BY NODE_NO,NODE_VALUE

--打开游标
OPEN Cursor1;

--定义变量
declare @node_no char(20),
@node_value char(50),
@sale_sum VARCHAR(20),
@sum_store VARCHAR(20),
@store_sum VARCHAR(20),
@sale_profit VARCHAR(20)

--取数据
fetch NEXT from Cursor1 into @node_no,@node_value,@sale_sum,@sum_store,@store_sum,@sale_profit

while(@@fetch_status=0)
begin
    UPDATE tmp_node0615 SET RESALESUM20090702=ISNULL(@sale_sum,0),COUNT20090702=ISNULL(@store_sum,0) ,PROFIT20090702=ISNULL(@sale_profit,0) WHERE NODENO=@node_no;
    UPDATE tmp_node0615 SET SUMSTOCK=SUMSTOCK+COUNT20090702 WHERE NODENO=@node_no;
    fetch next from Cursor1 into @node_no,@node_value,@sale_sum,@sum_store,@store_sum,@sale_profit
end

--关闭游标
close Cursor1

--删除游标资源
deallocate Cursor1
GO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值