我有一個SQL Server中有一個PK(ID
)和另一個(邏輯)主鍵由其他幾列(儘管沒有UNIQUE約束)的表。比方說,表PERSON
,PK = PERSON_ID
,然後NAME
,SURNAME
,AGE
如何僅在一行受到影響時執行UPDATE?
我想這是可以說
UPDATE PERSON SET AGE = 43 WHERE NAME = 'XX' AND SURNAME = 'YYY'
,並讓它執行僅當 '更新的行'= 1,否則(更比1排)完全沒有執行。問題是我不確定NAME和SURNAME是否唯一標識了一條記錄,而且我無法事先告知它。
想法?
可能重複行查詢](http://stackoverflow.com/questions/3860975/sql-update-top1-row-query)和[用t-sql更新單行](http://stackoverflow.com/questions/2909118/更新單行與T - SQL)和[SQL查詢更新表中的最高1記錄](http://stackoverflow.com/questions/3855528/sql-query-to-update-top-1 - 記錄在表中) – Kermit
@njk - 不是重複的;在這種情況下,用戶只希望在更新一行時執行,而不是簡單地更新第一條記錄。 – LittleBobbyTables
@LittleBobbyTables我的歉意。 – Kermit