sql 存储过程 循环
declare @i int
set @i = 0while @i < 100begin update table set column = @i where ID_column = @i set @i = @i + 1end--游标实例 利用游标循环表 根据userid赋值
alter PROCEDURE CURSOR_EG1ASBEGINdeclare @a int,@error intdeclare @temp varchar(50)--临时变量,用来保存游标值set @a=1 set @error=0BEGIN TRAN --申明事务--申明游标 为useriddeclare 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正确 endif @error=0--没有错误 统一提交事务 begin commit tran--提交 endelse begin rollback tran--回滚 endCLOSE order_cursor--关闭游标DEALLOCATE order_cursor--释放游标END
浙公网安备 33010602011771号