MySQL स्टोर्ड प्रोसीजर में IF...ELSE सशर्त तर्क
MySQL स्टोर्ड प्रोसीजर IF...ELSE स्टेटमेंट का उपयोग करके सशर्त तर्क का समर्थन करते हैं, जिससे पैरामीटर मानों के आधार पर डायनामिक निष्पादन पथ सक्षम होते हैं।
सिंटैक्स
IF yourCondition THEN
yourStatement1;
ELSE
yourStatement2;
END IF;
पूर्ण उदाहरण: मान तुलना प्रोसीजर
mysql> DELIMITER //
mysql> CREATE PROCEDURE IF_ELSE_DEMO(IN value INT)
-> BEGIN
-> SET @val = value;
-> IF @val > 10 THEN
-> SELECT CONCAT(@val, ' is greater than 10');
-> ELSE
-> SELECT CONCAT(@val, ' is less than 10 ');
-> END IF;
-> END //
Query OK, 0 rows affected (0.16 sec)
mysql> DELIMITER ;
प्रोसीजर कॉल करें
mysql> CALL IF_ELSE_DEMO(18);
आउटपुट
+------------------------------------+ | concat(@val,' is greater than 10') | +------------------------------------+ | 18 is greater than 10 | +------------------------------------+ 1 row in set (0.03 sec) Query OK, 0 rows affected (0.04 sec)
IF...ELSEIF...ELSE संरचना
IF condition1 THEN
statement1;
ELSEIF condition2 THEN
statement2;
ELSE
statement3;
END IF;
व्यावहारिक उदाहरण: ग्रेड निर्धारण
CREATE PROCEDURE GetGrade(IN score INT, OUT grade VARCHAR(2))
BEGIN
IF score >= 90 THEN
SET grade = 'A';
ELSEIF score >= 80 THEN
SET grade = 'B';
ELSEIF score >= 70 THEN
SET grade = 'C';
ELSEIF score >= 60 THEN
SET grade = 'D';
ELSE
SET grade = 'F';
END IF;
END;
मुख्य बिंदु
- DELIMITER प्रोसीजर परिभाषा के लिए आवश्यक है
INपैरामीटर इनपुट मान स्वीकार करते हैंSETसत्र चर असाइन करता हैCONCAT()स्ट्रिंग्स को जोड़ता है- प्रत्येक
IFके लिएEND IFआवश्यक है