当前位置: 移动技术网 > IT编程>数据库>MSSQL > mssql数据库游标批量修改符合条件记录的方法

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

2017年12月08日  | 移动技术网IT编程  | 我要评论

女法医辣手摧夫记txt,宫锁珠帘百合,人走茶凉的反义词

需求:由于项目刚上传,没有票数,为了表现出一定的人气,需要在一开始把各项目的票数赋一个值 ,

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

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网