• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mssql数据库游标批量修改符合条件记录的方法
    需求:由于项目刚上传,没有票数,为了表现出一定的人气,需要在一开始把各项目的票数赋一个值 ,

    但每个项目不能一样,否则容易看出问题,呵呵 。
    复制代码 代码如下:

    DECLARE @Id varchar(50)
    DECLARE My_Cursor CURSOR --定义游标
    FOR (SELECT Id FROM dbo.kinpanAwardProject where session=9) --查出需要的集合放到游标中
    OPEN My_Cursor; --打开游标
    FETCH NEXT FROM My_Cursor INTO @Id; --读取第一行数据(将Id放到@Id变量中)
    WHILE @@FETCH_STATUS = 0
    BEGIN
    PRINT @Id; --打印数据(Id)
    UPDATE dbo.kinpanAwardProject SET ProTicketCount = cast( floor(rand()*30) as int)+40 WHERE Id = @Id; --更新数据,使用随机数。
    FETCH NEXT FROM My_Cursor INTO @Id; --读取下一行数据(将查询的Id放到@Id变量中)
    END
    CLOSE My_Cursor; --关闭游标
    DEALLOCATE My_Cursor; --释放游标
    GO

     

    还有一种用法,可能更加好,我认为,如果不需要对id进行判断的话,在修改时就不需要where查询,直接修改游标当前位置会更快。
    复制代码 代码如下:

    DECLARE My_Cursor CURSOR --定义游标
    FOR (SELECT * FROM dbo.MemberAccount) --查出需要的集合放到游标中
    OPEN My_Cursor; --打开游标
    FETCH NEXT FROM My_Cursor ; --读取第一行数据
    WHILE @@FETCH_STATUS = 0
    BEGIN
    --UPDATE dbo.MemberAccount SET UserName = UserName + 'A' WHERE CURRENT OF My_Cursor; --更新
    --DELETE FROM dbo.MemberAccount WHERE CURRENT OF My_Cursor; --删除
    FETCH NEXT FROM My_Cursor; --读取下一行数据
    END
    CLOSE My_Cursor; --关闭游标
    DEALLOCATE My_Cursor; --释放游标
    GO
    您可能感兴趣的文章:
    • 将所有符合条件的结果拼接成一列并用逗号隔开的一个sql语句
    • Mysql获取id最大值、表的记录总数等相关问题的方法汇总
    • SQL一条语句统计记录总数及各状态数
    • Java实现获得MySQL数据库中所有表的记录总数可行方法
    • SQL查询数据库中符合条件的记录的总数
    上一篇:Sql Server2005实现远程备份数据库
    下一篇:如何在SQL Server 2005数据库中导入SQL Server 2008的数据
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    mssql数据库游标批量修改符合条件记录的方法 mssql,数据库,游标,批量,