How to execute an UPDATE only if one row would be affected?

后端 未结 5 1027
隐瞒了意图╮
隐瞒了意图╮ 2021-01-21 12:44

I have a table in SQL Server that has a PK (ID) and another (logical) primary key made by a couple of other columns (although there is no UNIQUE constraint on that)

5条回答
  •  独厮守ぢ
    2021-01-21 13:26

    I'd put the conditional before the update rather than in the where clause.

    IF (SELECT COUNT(*) FROM PERSON WHERE NAME = 'XX' AND SURNAME = 'YYY') = 1
    UPDATE PERSON SET AGE = 43 WHERE NAME = 'XX' AND SURNAME = 'YYY'
    

提交回复
热议问题