declare @i int set @i = 0 while @i < 100 begin update table set column = @i where ID_column = @i set @i = @i + 1 end
--游标实例 利用游标循环表 根据userid赋值 alter PROCEDURE CURSOR_EG1 AS BEGIN declare @a int,@error int declare @temp varchar(50)--临时变量,用来保存游标值 set @a=1 set @error=0 BEGIN TRAN --申明事务 --申明游标 为userid declare order_cursor CURSOR FOR select userid from usertable --打开游标 open order_cursor WHILE @@FETCH_STATUS = 0 --返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。 begin --开始循环游标变量 FETCH NEXT FROM order_cursor INTO @temp --执行sql操作 update usertable set userpwd=username ,chinesename=@a where userid=@temp set @a=@a+1 set @error=@error+@@error --记录每次运行sql后 是否正确 0正确 end if @error=0--没有错误 统一提交事务 begin commit tran--提交 end else begin rollback tran--回滚 end CLOSE order_cursor--关闭游标 DEALLOCATE order_cursor--释放游标 END 文章出处:飞诺网(www.firnow.com):http://dev.firnow.com/course/7_databases/sql/sqlServer/20090517/167160.html