Adatok frissítése
A T-SQL UPDATE utasítása egy tábla meglévő adatainak módosítására szolgál. Az UPDATE egy sorkészleten működik, amelyet egy WHERE záradékban szereplő feltétel határoz meg, vagy egy illesztésben definiál. Az UPDATE utasítás egy SET záradékkal rendelkezik, amely meghatározza, hogy mely oszlopokat kell módosítani. A SET záradék egy vagy több oszlopot tartalmaz vesszővel elválasztva, és új értékeket ad ezeknek az oszlopoknak. Az UPDATE utasítás WHERE záradékának struktúrája megegyezik a SELECT utasítás WHERE záradékával.
Feljegyzés
Fontos megjegyezni, hogy a megfelelő WHERE záradék vagy illesztés nélküli FRISSÍTÉS frissíti a tábla összes sorát. Óvatosan használja az UPDATE utasítást.
Az UPDATE utasítás alapszintaxisa alább látható.
UPDATE <TableName>
SET
<ColumnName> = { expression | DEFAULT | NULL }
{,…n}
WHERE <search_conditions>;
Az alábbi példa a promóció jegyzeteinek módosítására használt UPDATE utasítást mutatja be:
UPDATE Sales.Promotion
SET Notes = '25% off socks'
WHERE PromotionID = 2;
A SET záradékban több oszlop is módosítható. Az alábbi UPDATE utasítás például módosította a Kedvezményt és a Jegyzeteket az összes sorban, ahol az akció neve "Keretbe kerül":
UPDATE Sales.Promotion
SET Discount = 0.2, Notes = REPLACE(Notes, '10%', '20%')
WHERE PromotionName = 'Get Framed';
Az UPDATE utasítás egy FROM záradékot is támogat, amely lehetővé teszi az adatok módosítását egy lekérdezés eredményei alapján. Az alábbi kód például frissíti a Sales.Promotion táblát a Product.ProductModel táblából lekért értékekkel.
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;