MS-SQL循环、随机数

---创建视图
create view myview as select re=rand() 

--自定义函数:取得指定范围的随机数 
create function mydata( 
@a int, 
@b int) 
returns decimal(38,0) 
as 
begin 
declare @r decimal(38,0) 
select @r=cast(re*(@b-@a)+@a as decimal(38,0)) from myview 
return(@r) 
end 
go 

---循环数据
DECLARE @Id varchar(50) 
DECLARE My_Cursor CURSOR --定义游标
FOR (SELECT APP_Id FROM dbo.tbl_APP) --查出需要的集合放到游标中
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor INTO @Id; --读取第一行数据(将MemberAccount表中的UserId放到@UserId变量中)
WHILE @@FETCH_STATUS = 0
    BEGIN
        PRINT @UserId; --打印数据(打印MemberAccount表中的UserId)
        UPDATE dbo.tbl_APP SET APP_Download = dbo.mydata(1000,99999) WHERE APP_Id = @Id; --更新数据
        FETCH NEXT FROM My_Cursor INTO @UserId; --读取下一行数据(将MemberAccount表中的UserId放到@UserId变量中)
    END
CLOSE My_Cursor; --关闭游标
DEALLOCATE My_Cursor; --释放游标
GO

 

posted on 2014-09-15 16:14  LitDev  阅读(309)  评论(0编辑  收藏  举报