Atualizar dados
A instrução UPDATE no T-SQL é usada para alterar dados existentes em uma tabela. UPDATE opera em um conjunto de linhas, definidas por uma condição em uma cláusula WHERE ou definidas em uma junção. A instrução UPDATE tem uma cláusula SET que especifica quais colunas devem ser modificadas. A cláusula SET uma ou mais colunas, separadas por vírgulas, 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.
Nota
É importante notar que uma ATUALIZAÇÃO sem uma cláusula WHERE correspondente ou uma junção, atualizará todas as linhas de 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 Notas 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 suporta 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;