首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-02-17 
怎样随机更新记录怎样随机更新记录呢?用updatetablesetupdatetimegetdate()whereidin(selectidfromtableo

怎样随机更新记录
怎样随机更新记录呢?
用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 @i=@i-1
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

热点排行