Mettre à jour des données

Effectué

L’instruction UPDATE dans T-SQL est utilisée pour modifier des données existantes dans une table. UPDATE opère sur un ensemble de lignes, soit défini par une condition dans une clause WHERE, soit défini dans une jointure. L’instruction UPDATE comporte une clause SET qui spécifie les colonnes à modifier. La clause SET porte sur une ou plusieurs colonnes, séparées par des virgules, et fournit de nouvelles valeurs à ces colonnes. La clause WHERE d’une instruction UPDATE a la même structure qu’une clause WHERE dans une instruction SELECT.

Notes

Il est important de noter qu’une instruction UPDATE sans clause WHERE correspondante ou jointure met à jour toutes les lignes d’une table. Utilisez l’instruction UPDATE avec précaution.

La syntaxe de base d’une instruction UPDATE est illustrée ci-dessous.

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

L’exemple suivant montre l’instruction UPDATE utilisée pour modifier les notes d’une promotion :

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

Vous pouvez modifier plusieurs colonnes dans la clause SET. Par exemple, l’instruction UPDATE suivante a modifié à la fois les champs Discount et Notes pour toutes les lignes où le nom de la promotion est « Get Framed » :

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

L’instruction UPDATE prend également en charge une clause FROM, ce qui vous permet de modifier les données en fonction des résultats d’une requête. Par exemple, le code suivant met à jour la table Sales.Promotion à l’aide des valeurs extraites de la table 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;