لا يشترط أن تكون القيمة الجديدة في UPDATE رقمًا ثابتًا. يمكن كتابة تعبير حسابي يعتمد على القيمة الموجودة في كل صف. لزيادة سعر بنسبة عشرة بالمئة نضرب السعر في 1.10، بينما تعني إضافة العدد 10 زيادة ثابتة مقدارها عشر وحدات، مهما كان السعر الأصلي.
يجري حساب التعبير لكل صف مستهدف بصورة مستقلة. إذا كان سعر كتاب خمسين، تصبح قيمته خمسة وخمسين، وإذا كان سعر كتاب آخر مئة، تصبح قيمته مئة وعشرة. لهذا تعد الزيادة النسبية مختلفة عن استبدال جميع الأسعار برقم واحد. ويظل شرط WHERE مسؤولًا عن تحديد الكتب التي يشملها التعديل.
مثال
UPDATE books
SET price = price * 1.10
WHERE id = 1;
استخدام عمود من نوع DECIMAL مناسب هنا لتخزين الأسعار بدقة محددة. لاحظ أن تكرار الأمر يزيد السعر مجددًا اعتمادًا على قيمته بعد التنفيذ السابق.
باختصار: اكتب الحساب داخل SET عندما تريد تعديل القيمة الحالية بنسبة أو مقدار محدد.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.