Обновить, если существует, но с использованием первичного ключа - PullRequest
1 голос
/ 04 июля 2019

Попытка использовать следующий код для обновления, но сталкивается с трудностями, как получить идентификатор из выбора для использования в обновлении

любая идея

Мой код

    IF EXISTS (SELECT ID
               FROM   table1
               WHERE  ptid = 1 
                      AND ssfid = 5) 
      UPDATE table1 WITH (updlock) 
      SET    ssfid = 5 
      WHERE  ptid = 1; - trying to use ID frm the above Table - how could i?
else
      insert goes here 

1 Ответ

1 голос
/ 04 июля 2019

Вы можете попробовать использовать обновляемый CTE:

WITH cte AS (
    SELECT ID, ssfid
    FROM table1
    WHERE ptid = 1 AND ssfid = 5
)

UPDATE cte
SET ssfid = 5;

Логика обновления не имеет особого смысла, но это может быть один из способов выполнить то, что вы описали в своем вопросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...