想要用第二行更新第一行值,反之亦然,但仅对于一个列,其他列值应保持相同



表名称:student

ID     Name 
-------------------------
1  ABC
2  PQR
3  XYZ

我想将其更新为:

ID     Name 
-------------------------
2  ABC
1  PQR
3  XYZ

ID列是主键列。

我尝试了以下内容:

Update student set id =case when id =1 then 2
                            when id= 2 then 1
                            else id
                            end;
Select Id, Id As TmpId, Name, Into #tmp from Student
Update #tmp 
Set TmpId = case when id =1 then 2 when id= 2 then 1 else id end
Truncate Table Student
Insert Into Student
Select TmpId, Name From #tmp

相关内容

最新更新