在SQL Server中更新相同的表

Sun*_*hah 9 sql sql-server

我试图从相同的表数据更新相同的表数据.

我的SP如下所示:

UPDATE T1
SET T1.Name = T2.Name
   , T1.Age = T2.Age
   , T1.Subject = T2.Subject
FROM Student T1
   , Student T2
WHERE T1.StudentID = @OldID
   AND T2.StudentID = @NewID
Run Code Online (Sandbox Code Playgroud)

当我执行此查询时,没有错误.但更新无效.

[这里没有要比较的公共列值,如T1.StudentID = T2.StudentID]

Gid*_*dil 5

试试这个:

UPDATE t1
SET t1.name = t2.name, t1.age = t2.age, t1.subject = t2.subject
FROM student t1
INNER JOIN
student t2
ON t1.StudentID = @oldID
AND t2.StudentID = @NewID
Run Code Online (Sandbox Code Playgroud)

完整的例子就在这里