ストアド プロシージャに渡す値が列の値と異なる場合にのみ更新したい列があります。それが重要な場合、たまたま NVARCHAR(255) 列になります。
この値を毎回書き込むことの長所と短所は何ですか? 最初に値をチェックし、渡したものがデータベースにあるものと異なる場合にのみ書き込むことの長所と短所は何ですか?
書く前に比較をしている私の単純化された例:
-- @URL and @ContentName are parameters of the sproc
SET @ExistingURL =
(SELECT TOP 1 C.URL
FROM Content C
WHERE ContentName = @ContentName)
-- update only if the parameter and existing value are different
IF(@ExistingURL != @URL)
BEGIN
UPDATE Content
SET URL = @URL
WHERE ContentName = @ContentName
END