Atualizar dados
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;