อัปเดตข้อมูล
คําสั่ง UPDATE ใน T-SQL ใช้เพื่อเปลี่ยนแปลงข้อมูลที่มีอยู่ในตาราง UPDATE ทํางานบนชุดของแถว ไม่ว่าจะกําหนดโดยเงื่อนไขในคําสั่ง WHERE หรือกําหนดไว้ในการรวม คําสั่ง UPDATE มีคําสั่ง SET ที่ระบุว่าจะปรับเปลี่ยนคอลัมน์ใด SET clause หนึ่งหรือหลายคอลัมน์ ซึ่งคั่นด้วยเครื่องหมายจุลภาค และใส่ค่าใหม่ไปยังคอลัมน์เหล่านั้น คําสั่งย่อย 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 ต่อไปนี้จะปรับเปลี่ยนทั้งเขตข้อมูล ส่วนลด และ บันทึกย่อ สําหรับแถวทั้งหมดที่ชื่อโปรโมชันคือ "รับกรอบ":
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;