কম্পিউটার টিউটোরিয়াল

MySQL-এ স্টোরড প্রসিজার এবং SELECT-এ IF ফাংশন ব্যবহার

MySQL-এ শর্তসাপেক্ষ লজিকের জন্য দুটি ভিন্ন IF রয়েছে: IF() ফাংশন (SELECT-এ ব্যবহার) এবং IF স্টেটমেন্ট (স্টোরড প্রসিজারে ব্যবহার)।

১. SELECT স্টেটমেন্টে IF() ফাংশন

mysql> SELECT IF(0=0, 'Hello MySQL', 'condition is wrong');
+------------------------------------------------------+
| if('test'='test','Hello MySQL','condition is wrong') |
+------------------------------------------------------+
| Hello MySQL                                          |
+------------------------------------------------------+
mysql> SELECT IF(1=0, 'Hello MySQL', 'condition is wrong');
+--------------------------------------------+
| if(1=0,'Hello MySQL','condition is wrong') |
+--------------------------------------------+
| condition is wrong                         |
+--------------------------------------------+

২. স্টোরড প্রসিজারে IF স্টেটমেন্ট

mysql> DELIMITER //
mysql> CREATE PROCEDURE if_demo(value INT)
    BEGIN
        IF 1 = value THEN
            SELECT "Hello MySQL";
        ELSE
            SELECT "Wrong Condition";
        END IF;
    END //
Query OK, 0 rows affected (0.20 sec)
mysql> DELIMITER ;

প্রসিজার কল করা

mysql> CALL if_demo(1);
+-------------+
| Hello MySQL |
+-------------+
| Hello MySQL |
+-------------+
mysql> CALL if_demo(0);
+-----------------+
| Wrong Condition |
+-----------------+
| Wrong Condition |
+-----------------+

মূল পার্থক্য: IF() এক্সপ্রেশন রিটার্ন করে (ফাংশন), আর IF ... THEN ... END IF কন্ট্রোল ফ্লো স্টেটমেন্ট (প্রসিজার/ফাংশন বডিতে ব্যবহার)।

  1. MySQL স্টোরড প্রসিডিউরে IF-ELSE শর্ত সঠিকভাবে বাস্তবায়ন

  2. MySQL স্টোরড প্রসিডিউরে DELIMITER সঠিকভাবে ব্যবহার করা

  3. MySQL-এ UPDATE-এ সাবকুয়েরি (SELECT) ব্যবহার করা

  4. MySQL-এ সঠিকভাবে DELIMITER ব্যবহার করে স্টোরড প্রসিডিউরে মান ইনসার্ট করা