如何检测并仅更新新旧值是否不同,否则不会更新
Update Student
SET First = @FirstName
WHERE EmpId = 1
答案 0 :(得分:2)
您可以将此条件添加到where
子句:
UPDATE Student
SET First = @FirstName
WHERE First != @FirstName AND EmpId = 1
编辑:
正如Kevin Suchlicki在评论中指出的,如果First
可以为空,那么null
应该明确处理:
UPDATE Student
SET First = @FirstName
WHERE EmpId = 1 AND ((First != @FirstName) OR
(First IS NULL AND @FirstName IS NOT NULL) OR
(First IS NOT NULL AND @FirstName IS NULL))