在MySQL中,如果指定ON DUPLICATE KEY UPDATE並且插入的行會導致UNIQUE索引或PRIMARY KEY中出現重複值,則會執行舊行的UPDATE。例如,如果列被聲明爲UNIQUE,並且包含值1,以下兩個語句具有相同的效果:SQL Server是否提供類似於MySQL的重複密鑰更新
INSERT INTO table (a,b,c) VALUES (1,2,3)
ON DUPLICATE KEY UPDATE c=c+1;
UPDATE table SET c=c+1 WHERE a=1;
我不相信我遇到在T-SQL類似的東西。 SQL Server是否提供與MySQL的DUPLICATE KEY UPDATE相媲美的功能?
您可以使用存儲過程來模擬它。我的頭腦裏沒有確切的代碼。 – 2009-07-29 02:13:05
@羅伯特哈維 - 我一直通過檢查行是否存在來執行操作。如果是,則執行更新,否則插入新行。這是你在想什麼嗎? – 2009-07-29 02:52:32