当前位置: 代码迷 >> Sql Server >> 怎样随机更新记录,该怎么解决
  详细解决方案

怎样随机更新记录,该怎么解决

热度:23   发布时间:2016-04-27 20:22:57.0
怎样随机更新记录
怎样随机更新记录呢?
用update   table   set   updatetime=getdate()   where   id   in(select   id   from   table   order   by   newid())
这个不可以,提示必须给个TOP
当然了我想要的是不给TOP,各位高手有办法解决吗?
我是新手,没有几分,不好意思,请见谅。

------解决方案--------------------
就是说将updatetime的值打乱

那需要多次update
declare @i int
set @i=100
while @i> 0
begin
update table set updatetime=getdate() where id =(select top 1 id from table order by newid())
set @[email protected]
end



------解决方案--------------------
或者换个思路

--先打乱次序放到临时表
select id,IDENTITY(int,1,1) as id0
into #
from table
order by newid()

--再更新时间
update a set updatetime=dateadd(second,t.id0,getdate())
from table a,# t
where a.id=t.id
  相关解决方案