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

后端 未结 5 947
隐瞒了意图╮
隐瞒了意图╮ 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条回答
  •  梦毁少年i
    2021-01-21 13:24

    UPDATE Person p1
    SET p1.AGE = 43
    WHERE NAME = 'XX' AND SURNAME = 'YY'
    AND NOT EXISTS (
      SELECT NULL FROM Person p2
      WHERE p1.NAME = p2.NAME
      AND p1.SURNAME = p2.SURNAME
      AND p1.ID <> p2.ID)
    

提交回复
热议问题