Aktualizace dat
Příkaz UPDATE v jazyce T-SQL slouží ke změně existujících dat v tabulce. FUNKCE UPDATE pracuje se sadou řádků definovaných podmínkou v klauzuli WHERE nebo definovanou ve spojení. Příkaz UPDATE obsahuje klauzuli SET, která určuje, které sloupce se mají upravit. Klauzule SET jeden nebo více sloupců oddělených čárkami a poskytuje nové hodnoty pro tyto sloupce. Klauzule WHERE v příkazu UPDATE má stejnou strukturu jako klauzule WHERE v příkazu SELECT.
Poznámka:
Je důležité si uvědomit, že funkce UPDATE bez odpovídající klauzule WHERE nebo spojení aktualizuje všechny řádky v tabulce. Použijte příkaz UPDATE s opatrností.
Základní syntaxe příkazu UPDATE je znázorněna níže.
UPDATE <TableName>
SET
<ColumnName> = { expression | DEFAULT | NULL }
{,…n}
WHERE <search_conditions>;
Následující příklad ukazuje příkaz UPDATE použitý k úpravě poznámek pro zvýšení úrovně:
UPDATE Sales.Promotion
SET Notes = '25% off socks'
WHERE PromotionID = 2;
V klauzuli SET můžete upravit více sloupců. Například následující příkaz UPDATE upravil pole Slevy a Poznámky pro všechny řádky, ve kterých je název povýšení "Get Framed":
UPDATE Sales.Promotion
SET Discount = 0.2, Notes = REPLACE(Notes, '10%', '20%')
WHERE PromotionName = 'Get Framed';
Příkaz UPDATE také podporuje klauzuli FROM, která umožňuje upravovat data na základě výsledků dotazu. Například následující kód aktualizuje tabulku Sales.Promotion pomocí hodnot načtených z tabulky 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;