sqlserver 2005中,用:
update TestTable set orderid = ROW_NUMBER() OVER(ORDER BY orderid asc)
出现错误提示:消息 4108,级别 15,状态 1,第 6 行 窗口函数只能出现在 SELECT 或 ORDER BY 子句中。
请问如何用ROW_NUMBER() 更新数据库中的指定字段值?
--利用CTE ;with cte as ( select *,rn=ROW_NUMBER() OVER(ORDER BY orderid asc) from TestTable ) update cte set orderid = rn
我想达到的目标是:排依据某字段排序查出一系列记录,然后用一个顺序号更新这个排序字段,因为数据量比较大,所以此过程越快越好.
目前想到的就是上面写的那种语句,但是不能调试通过,请问应如何处理?用存贮过程,用视图都可以,唯一的要求就是速度要快.