Aktualizowanie danych

Ukończone

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;