Aktualizowanie danych
Instrukcja UPDATE w języku T-SQL służy do zmiany istniejących danych w tabeli. FUNKCJA UPDATE działa na zestawie wierszy zdefiniowanych przez warunek w klauzuli WHERE lub zdefiniowanych w sprzężeniu. Instrukcja UPDATE ma klauzulę SET, która określa, które kolumny mają być modyfikowane. Klauzula SET co najmniej jedna kolumna oddzielona przecinkami i dostarcza nowe wartości do tych kolumn. Klauzula WHERE w instrukcji UPDATE ma taką samą strukturę jak klauzula WHERE w instrukcji SELECT.
Uwaga
Należy pamiętać, że aktualizacja bez odpowiedniej klauzuli WHERE lub sprzężenia zaktualizuje wszystkie wiersze w tabeli. Użyj instrukcji UPDATE z ostrożnością.
Poniżej przedstawiono podstawową składnię instrukcji UPDATE.
UPDATE <TableName>
SET
<ColumnName> = { expression | DEFAULT | NULL }
{,…n}
WHERE <search_conditions>;
Poniższy przykład przedstawia instrukcję UPDATE używaną do modyfikowania notatek pod kątem podwyższenia poziomu:
UPDATE Sales.Promotion
SET Notes = '25% off socks'
WHERE PromotionID = 2;
W klauzuli SET można zmodyfikować wiele kolumn. Na przykład następująca instrukcja UPDATE zmodyfikowała pola Rabat i Uwagi dla wszystkich wierszy, w których nazwa promocji to "Pobierz ramkę":
UPDATE Sales.Promotion
SET Discount = 0.2, Notes = REPLACE(Notes, '10%', '20%')
WHERE PromotionName = 'Get Framed';
Instrukcja UPDATE obsługuje również klauzulę FROM, umożliwiając modyfikowanie danych na podstawie wyników zapytania. Na przykład poniższy kod aktualizuje tabelę Sales.Promotion przy użyciu wartości pobranych z tabeli 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;