手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >mssql数据库游标批量修改符合条件记录的方法
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

1

还有一种用法,可能更加好,我认为,如果不需要对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

【mssql数据库游标批量修改符合条件记录的方法】相关文章:

SQL Server数据库之数据库列表介绍

sql server 2008数据库无法启动的解决办法(图文教程)

删除数据库中重复数据的几个方法

MS SQL SERVER 数据库日志压缩方法与代码

mssql无数据库日志文件恢复数据库的方法第1/2页

Access 数据类型与 MS SQL 数据类型的相应

SQL SERVER 2005数据库还原的方法

mssql数据库系统崩溃后的一般处理步骤与方法

收缩数据库日志文件的方法(仅适用于mssql2005)

SQL小技巧 又快又简单的得到你的数据库每个表的记录数

精品推荐
分类导航