עדכון נתונים
משפט UPDATE ב- T-SQL משמש לשינוי נתונים קיימים בטבלה. UPDATE פועל על ערכה של שורות, המוגדרות באמצעות תנאי במשפט WHERE או מוגדרות בצירוף. משפט UPDATE כולל משפט SET המציין אילו עמודות יש לשנות. פסוקית SET עמודה אחת או יותר, המופרדת באמצעות פסיקים ומספקת ערכים חדשים לעמודות אלה. משפט WHERE במשפט UPDATE בעל מבנה זהה לפסוקית WHERE במשפט SELECT.
הערה
חשוב לציין ש- UPDATE ללא פסוקית WHERE או צירוף תואמים יעדכן את כל השורות בטבלה. השתמש במשפט UPDATE בזהירות.
התחביר הבסיסי של משפט UPDATE מוצג להלן.
UPDATE <TableName>
SET
<ColumnName> = { expression | DEFAULT | NULL }
{,…n}
WHERE <search_conditions>;
הדוגמה הבאה מציגה את משפט UPDATE המשמש לשינוי ההערות עבור קידום מכירות:
UPDATE Sales.Promotion
SET Notes = '25% off socks'
WHERE PromotionID = 2;
באפשרותך לשנות עמודות מרובות במשפט SET. לדוגמה, המשפט UPDATE הבא שינה הן את השדות Discount והן Notes עבור כל השורות שבהן שם קידום המכירות הוא "Get Framed":
UPDATE Sales.Promotion
SET Discount = 0.2, Notes = REPLACE(Notes, '10%', '20%')
WHERE PromotionName = 'Get Framed';
משפט UPDATE תומך גם בפסוקית FROM, המאפשרת לך לשנות נתונים בהתבסס על התוצאות של שאילתה. לדוגמה, הקוד הבא מעדכן את הטבלה Sales.Promotion באמצעות ערכים שאוחזרו מהטבלה 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;