• SqlServer 游标逐行更新数据,根据上一行的数据来更新当前行


    工作中用到的记录一下,游标的详细定义及说明请百度


    --游标格式化数据 DECLARE cursor_jxsmb CURSOR FOR --定义一个游标 SELECT F0 FROM dbo.JXSMB2019; --定于游标的数据源 OPEN cursor_jxsmb --打开游标 DECLARE @LAST NVARCHAR(4000),@THIS NVARCHAR(4000) --定义两个变量,用来保存上一行和当前行的数据 FETCH NEXT FROM cursor_jxsmb INTO @THIS --设置@this 为当前行的数据 WHILE @@FETCH_STATUS=0 --判断游标是否为读取失败,读取失败则为-1 代表最后一行 BEGIN IF LEN(@THIS)<>0 --判断当前读取行字段是否为空 BEGIN SET @LAST=@THIS --如果不为空则不更新,并且设置@last为当前行的数据 --PRINT @LAST END ELSE BEGIN --如果为空则更新当前行的数据为上一行 UPDATE JXSMB2019 SET F0=@LAST WHERE CURRENT OF cursor_jxsmb --更新数据,where 只更新当前游标所在行 --PRINT @LAST END FETCH NEXT FROM cursor_jxsmb INTO @THIS     --继续读取下一行数据 END CLOSE cursor_jxsmb --关闭游标 DEALLOCATE cursor_jxsmb --释放游标

      

  • 相关阅读:
    java面试总结之框架问题
    数据库设计三大范式
    js 一些技巧
    el 和 fmt 常用
    iframe自适应高度
    MySQL基础
    任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal)
    hibernate
    Struts2
    Servlet、Cookie、Session
  • 原文地址:https://www.cnblogs.com/super-cj/p/10423260.html
Copyright © 2020-2023  润新知