导航

Update语句中使用RowNumber更新标识列。

Posted on 2014-10-28 09:33  夹心刺猬  阅读(1578)  评论(0)    收藏  举报

方法一:

With [TempTable] As (
Select [FieldID], Row_Number() Over(Order By [FieldID]) RowNumber From [Target]
)
Update [Target] Set [FieldID] = RowNumber

方法二:

Update [TempTable] Set [Target] = RowNumber From(
Select [FieldID], ROW_NUMBER() Over(Order By [FieldID]) RowNumber from [Target]
) [TempTable]

[Template]为临时表命名,自定义。

[Target]为需要更新的表。

[FieldID]为需要更新的列,存在于[Target]。

[RowNumber]为需要用到的列,临时存在于[Target]的查询结果中。