Atualizar dados

Concluído

A instrução UPDATE no T-SQL é usada para alterar os dados existentes em uma tabela. UPDATE opera em um conjunto de linhas, definido por uma condição em uma cláusula WHERE ou definido em uma junção. A instrução UPDATE tem uma cláusula SET que especifica que colunas devem ser modificadas. A cláusula SET uma ou mais colunas, separadas por vírgulas, e fornece novos valores para essas colunas. A cláusula WHERE em uma instrução UPDATE tem a mesma estrutura que uma cláusula WHERE em uma instrução SELECT.

Observação

É importante observar que um UPDATE sem uma cláusula WHERE correspondente ou uma junção atualizará todas as linhas em uma tabela. Use a instrução UPDATE com cuidado.

A sintaxe básica de uma instrução UPDATE é mostrada abaixo.

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

O exemplo a seguir mostra a instrução UPDATE usada para modificar as notas de uma promoção:

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

Você pode modificar várias colunas na cláusula SET. Por exemplo, a seguinte instrução UPDATE modificou os campos Desconto e Observações para todas as linhas em que o nome da promoção é "Get Framed":

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

A instrução UPDATE também dá suporte a uma cláusula FROM, permitindo que você modifique dados com base nos resultados de uma consulta. Por exemplo, o código a seguir atualiza a tabela Sales. Promotion usando valores recuperados da tabela 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;