在SQL的存储过程中应用游标计算

本文介绍如何在SQL的存储过程中使用游标进行计算。首先创建了一个名为'return_cursor'的存储过程,该过程根据用户ID返回一个已打开的游标。接着,定义了另一个存储过程'Sum_num',它利用'return_cursor'获取游标,然后遍历游标计算每个表的总分。通过循环处理游标中的数据,实现了对KPI_UserNumItem表中与Guid相关的Sum(Num)的计算。
摘要由CSDN通过智能技术生成

--创建一个存储过程,并返回一个已经打开的游标
Create procedure return_cursor
(
 @userId varchar(40),
 @Cur_KPI_Guid CURSOR VARYING OUTPUT
)
AS
Begin
 set @Cur_KPI_Guid=Cursor Local Scroll For
 select Guid from KPI_User where UserID=@userId
 open  @Cur_KPI_Guid
end


--求和的存储过程
create  procedure Sum_num
(
 @userID varchar(40)
)
AS
Declare
 @Cur_KPI_Guid CURSOR,--游标变量
 @KPI_Guid varchar(50)
BEGIN
 --调用上面的存储过程,得到打开的游标
 execute return_cursor @userID,@Cur_KPI_Guid OUTPUT
 --取出游标中的第一行数据
 FETCH  @Cur_KPI_Guid INTO @KPI_Guid
 --循环计算每个表的总分
 While @@FETCH_STATUS=0
   begin
     select SUM(Num) from KPI_UserNumItem where ItemGuid
     in (select ItemGuid from KPI_BaseItems where

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值