Обновление данных

Завершено

Инструкция UPDATE в T-SQL используется для изменения существующих данных в таблице. UPDATE работает с набором строк, которые определяются условием в предложении WHERE либо определенные которых происходит в объединении. Инструкция UPDATE содержит предложение SET, которое указывает, какие столбцы должны быть изменены. Предложение SET содержит один или несколько столбцов, разделенных запятыми. Оно предоставляет этим столбцам новые значения. Предложение WHERE в инструкции UPDATE имеет ту же структуру, что и предложение WHERE в инструкции SELECT.

Примечание.

Важно отметить, что использование UPDATE без соответствующего предложения WHERE или объединения приведет к обновлению всех строк в таблице. Используйте инструкцию UPDATE с осторожностью.

Ниже приведен базовый синтаксис инструкции UPDATE.

UPDATE <TableName>
SET 
<ColumnName> = { expression | DEFAULT | NULL }
{,…n}
WHERE <search_conditions>;

В следующем примере показана инструкция UPDATE, используемая для изменения примечаний для рекламной акции:

UPDATE Sales.Promotion
SET Notes = '25% off socks'
WHERE PromotionID = 2;

В предложении SET можно изменить несколько столбцов. Например, следующая инструкция UPDATE изменяет поля Скидка и Заметки для всех строк, в которых название рекламы — Get Framed (Получение кадров):

UPDATE Sales.Promotion
SET Discount = 0.2, Notes = REPLACE(Notes, '10%', '20%')
WHERE PromotionName = 'Get Framed';

Инструкция UPDATE также поддерживает предложение FROM, что позволяет изменять данные на основе результатов запроса. Например, следующий код обновляет таблицу Sales.Promotion, используя значения, полученные из таблицы Product.ProductModel.

UPDATE Sales.Promotion
SET Notes = FORMAT(Discount, 'P') + ' off ' + m.Name
FROM Product.ProductModel AS m
WHERE Notes IS NULL
    AND Sales.Promotion.ProductModelID = m.ProductModelID;