如何将ROW_NUMBER()分配给列?

iMa*_*ari 3 sql sql-server sql-server-2005

读完这个问题后,我有另一个类似的问题.有一种简单的方法可以使这个SQL语句工作吗?

update [Insurances] set [RowNo]=ROW_NUMBER() over (order by [RowNo])
Run Code Online (Sandbox Code Playgroud)

我有一个RowNo列,我想在删除记录时更新.

Mah*_*mal 8

UPDATE t1 
SET t1.RowNo = s.RowNo  
FROM  [Insurances] t1
INNER JOIN
(
     SELECT Id, ROW_NUMBER() OVER( ORDER BY Somefield DESC) RowNo
     FROM Insurances
) s ON t1.Id = s.Id
Run Code Online (Sandbox Code Playgroud)