MySQL में CASE स्टेटमेंट का उपयोग करके एक ही UPDATE क्वेरी में विभिन्न उत्पादों की कीमतें अलग-अलग प्रतिशत से बढ़ा सकते हैं।
उदाहरण: उत्पाद कीमतों को अलग-अलग प्रतिशत से बढ़ाना
1. टेबल बनाएं
mysql> CREATE TABLE DemoTable (
-> ProductName VARCHAR(20),
-> ProductPrice INT
-> );
2. डेटा डालें
mysql> INSERT INTO DemoTable VALUES('Product-1', 700);
mysql> INSERT INTO DemoTable VALUES('Product-2', 1000);
mysql> INSERT INTO DemoTable VALUES('Product-3', 3000);
3. वर्तमान कीमतें देखें
mysql> SELECT * FROM DemoTable;
+-------------+--------------+ | ProductName | ProductPrice | +-------------+--------------+ | Product-1 | 700 | | Product-2 | 1000 | | Product-3 | 3000 | +-------------+--------------+
4. CASE के साथ UPDATE क्वेरी
mysql> UPDATE DemoTable
-> SET ProductPrice = CASE
-> WHEN ProductName = 'Product-1' THEN ProductPrice + (ProductPrice * 20 / 100)
-> WHEN ProductName = 'Product-2' THEN ProductPrice + (ProductPrice * 40 / 100)
-> WHEN ProductName = 'Product-3' THEN ProductPrice + (ProductPrice * 60 / 100)
-> END;
5. अद्यतन कीमतें देखें
mysql> SELECT * FROM DemoTable;
+-------------+--------------+ | ProductName | ProductPrice | +-------------+--------------+ | Product-1 | 840 | -- 700 + 20% = 840 | Product-2 | 1400 | -- 1000 + 40% = 1400 | Product-3 | 4800 | -- 3000 + 60% = 4800 +-------------+--------------+
लाभ
- सिंगल क्वेरी: एकाधिक UPDATE स्टेटमेंट की आवश्यकता नहीं
- एटॉमिक: सभी अपडेट एक साथ होते हैं
- पठनीय: तर्क स्पष्ट और संरचित होता है
- प्रदर्शन: टेबल का एक ही पास
नोट
ELSE क्लॉज निर्दिष्ट न करने पर, मेल न खाने वाली पंक्तियों का मान NULL हो जाएगा। सुरक्षा के लिए ELSE ProductPrice जोड़ें।