游标多行只执行一次

使用游标进行数据更新时

 CREATE TABLE #tab
            (
              CategoryID BIGINT ,
              StartTime DATETIME ,
              EndTime DATETIME
            )
        INSERT  #tab
                ( CategoryID ,
                  StartTime ,
                  EndTime
                   
                )
                SELECT  CategoryID ,
                        StartTime ,
                        EndTime
                FROM    V_OrderDetailInfo d
                        LEFT JOIN V_OrderInfo o ON d.OrderID = o.OrderID
                                                   AND @OrderStatus = 180
                WHERE   d.OrderID = @OrderID
                        AND ( IsReturnVenue = NULL
                              OR IsReturnVenue = 0
                            )  
        DECLARE curOrderDetail CURSOR
        FOR
            SELECT  CategoryID ,
                    StartTime ,
                    EndTime
            FROM    #tab
        OPEN curOrderDetail
        FETCH NEXT FROM curOrderDetail INTO @CategoryID, @StartTime, @EndTime           
        WHILE @@Fetch_Status = 0 
            BEGIN
                PRINT '数量调整'
                PRINT @@FETCH_STATUS
                UPDATE  V_FreeVenueInfo
                SET     BookedNumber = BookedNumber - 1 ,
                        FreeNumber = FreeNumber + 1
                WHERE   CategoryID = @CategoryID
                        AND StartTime = @StartTime
                        AND EndTime = @EndTime


                UPDATE  V_OrderInfo
                SET     IsReturnVenue = 1
                WHERE   OrderID = @OrderID

                FETCH NEXT FROM curOrderDetail INTO @CategoryID, @StartTime,
                    @EndTime
            END
        CLOSE curOrderDetail
        DEALLOCATE curOrderDetail
    

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值