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

 

你可能感兴趣的:(sql)