В SQL Server вы можете использовать UPDATE
с JOIN
:
UPDATE DA
SET VALUE = '4701'
FROM DEVICEATTRIBUTES DA JOIN
(VALUES ('PortA', '4701'),
('PortB', '4711'),
('IP', '172.19.106.201')
) V(DEVICEATTRIBUTE, VALUE)
ON DA.DEVICEATTRIBUTE = V.DEVICEATTRIBUTE
WHERE IDDEVICE = 15;
Предложение VALUES
- удобный способ добавить значения, которые вы хотите изменить - и это снижает риск опечаток.
Однако в вашем коде вы можете просто использовать три UPDATE
s. Операторы IF
не нужны. Если ни одна строка не соответствует предложению WHERE
, то никакие строки не обновляются.