DECLARE cur CURSOR
FOR
    SELECT  ID ,
            subNum
    FROM    dbo.StockLog_Tab
    WHERE   typeID = '3'
            AND ID <> '352'
    ORDER BY CreateDate DESC;
DECLARE @subNum FLOAT;
DECLARE @nextSubSum FLOAT;
DECLARE @subTotal INT;
DECLARE @result NVARCHAR(20);
DECLARE @ID INT;
SET @nextSubSum = -12400;
SET @subTotal = 34800;
OPEN cur;
--打开指针
FETCH NEXT FROM cur INTO @ID, @subNum;
WHILE ( @@FETCH_STATUS = 0 )
    BEGIN
    --print CAST(@subTotal AS NVARCHAR(20))+'+' + CAST(@subNum AS NVARCHAR(20)) +' : ' + CAST((@subTotal+@subNum) AS NVARCHAR(50));
    
        UPDATE  StockLog_Tab
        SET     subTotal = @subTotal + ( -1 * @nextSubSum )
        WHERE   ID = @ID;
 
        SET @subTotal = @subTotal + ( -1 * @nextSubSum );
        SET @nextSubSum = @subNum;
        FETCH NEXT FROM cur INTO @ID, @subNum;--指针下移
    END;
CLOSE cur;
--关闭指针
DEALLOCATE cur;--释放指针

 

相关文章:

  • 2022-12-23
  • 2021-07-15
  • 2021-06-23
  • 2022-12-23
  • 2021-12-09
  • 2022-12-23
  • 2022-12-23
  • 2021-07-27
猜你喜欢
  • 2021-08-08
  • 2021-05-20
  • 2021-11-11
  • 2021-09-25
  • 2021-06-07
  • 2021-11-04
  • 2022-12-23
相关资源
相似解决方案