【发布时间】:2013-02-01 16:00:27
【问题描述】:
我在 SQL Server 中有一个表,它有一个 PK (ID) 和另一个由其他几列组成的(逻辑)主键(尽管没有 UNIQUE 约束)。比方说,表PERSON、PK = PERSON_ID,然后是NAME、SURNAME、AGE
我希望可以说
UPDATE PERSON SET AGE = 43 WHERE NAME = 'XX' AND SURNAME = 'YYY'
只有在'updated rows' = 1 时才执行,否则(超过 1 行)根本不执行。问题是我不确定 NAME 和 SURNAME 是否唯一标识一条记录,而且我无法先验地告诉它。
想法?
【问题讨论】:
-
@njk -- 不是重复的;在这种情况下,用户只想在一行被更新时执行,而不是简单地更新第一条记录。
-
@LittleBobbyTables 我很抱歉。
标签: sql-server tsql