UPDATE ... OUTPUT(旧值=新值)

时间:2014-08-06 06:46:16

标签: sql-server sql-server-2008

这可以在一个查询中完成吗?

UPDATE table SET value = @value, value2=@value2, value3=@value3 WHERE id=@id
OUTPUT (old.value = new.value)

我想知道value是否已更改,因为只有在真正更改的情况下,我才需要将大量数据发送回客户端。我总是可以做两个SQL查询,但这样我就不会学到东西......;)

1 个答案:

答案 0 :(得分:2)

你可能会这样做:

UPDATE table SET value = @value, value2=@value2, value3=@value3 WHERE id=@id
OUTPUT 
    CASE WHEN (deleted.value = inserted.value) THEN 1 ELSE 0 END