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

2023-12-07 0 859

需求:由于项目刚上传,没有票数,为了表现出一定的人气,需要在一开始把各项目的票数赋一个值 , 但每个项目不能一样,否则容易看出问题,呵呵 。 复制代码 代码如下: 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查询数据库中符合条件的记录的总数

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 MsSql mssql数据库游标批量修改符合条件记录的方法 https://www.u-9.cn/database/mssql/123752.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务