Aktualizace dat

Dokončeno

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;