Sql 如何使用随机值更新多行

Sql 如何使用随机值更新多行,sql,sql-server,performance,random,sql-update,Sql,Sql Server,Performance,Random,Sql Update,我想对表执行更新查询,并将2列设置为随机值。以下是一个例子: 更新网络信息详细信息集ART=rand*4000+2,NRT=rand*1000+2 很明显,所有行都将使用随机生成的相同值进行更新,因此我需要创建一个循环来为每行生成一个随机值 声明@size整数 设置@size=从网络信息详细信息中选择计数* 而@size>1 开始 更新top@size网络信息详细信息集ART=rand*4000+2,NRT=rand*1000+2 设置@size=@size-1 结束 此脚本使用不同的数字更新行

我想对表执行更新查询,并将2列设置为随机值。以下是一个例子:

更新网络信息详细信息集ART=rand*4000+2,NRT=rand*1000+2

很明显,所有行都将使用随机生成的相同值进行更新,因此我需要创建一个循环来为每行生成一个随机值

声明@size整数 设置@size=从网络信息详细信息中选择计数* 而@size>1 开始 更新top@size网络信息详细信息集ART=rand*4000+2,NRT=rand*1000+2 设置@size=@size-1 结束


此脚本使用不同的数字更新行,但速度非常慢。有没有办法提高执行时间?

您可以使用SQL Server技巧生成一个随机数:randchecksumnewid


添加了sql server标记,因为语法和问题显然是sql server造成的。
Update Network_Info_Detail
    set ART = (rand(checksum(newid()))*4000)+2,
        NRT = (rand(checksum(newid()))*1000)+2;