如何更新表中的所有行并增加列?

Far*_*day 3 sql sql-server sql-server-2005 sql-server-2008 sql-update

我在SQL Server 2008数据库中有一个表.我需要更新特定列的值,但同时增加它的值.解释:

如果表是:

CREATE TABLE [dbo].[Player]
(
    [PlayerID] [uniqueidentifier] NOT NULL,
    [UnitID] [uniqueidentifier] NULL,
    [ExerciseID] [uniqueidentifier] NOT NULL,
    [Designation] [nvarchar](256) NOT NULL
)
Run Code Online (Sandbox Code Playgroud)

我想通过它有一个每一行ExerciseID42C45D73-3FE6-4AFA-8E2F-09BDFC6CBDF7和更新的DesignationPlayer - X,但X应该从1开始,并通过每次一个增量本身.

所以第一个被更新的玩家将是Player - 1第二个将会是Player - 2等等.

我不知道从哪里开始这样的事情!

谢谢

Nik*_*vić 7

; with numbering as (
  select PlayerID,
         UnitID,
         ExerciseID,
         Designation,
         row_number () over (order by PlayerID) - 1 rn
    from Player
   where ExerciseID = '42C45D73-3FE6-4AFA-8E2F-09BDFC6CBDF7'
)
update numbering
   set Designation = 'Player - ' + convert(varchar(10), rn)
Run Code Online (Sandbox Code Playgroud)