MySQL IF स्टेटमेंट स्टोर्ड प्रोसीजर के भीतर एक बुनियादी सशर्त निर्माण को लागू करता है। इसका सिंटैक्स निम्नानुसार है:
IF expression THEN Statements; END IF;
यह सेमीकॉलन के साथ समाप्त होना चाहिए। MySQL स्टोर्ड प्रोसीजर के भीतर IF स्टेटमेंट के उपयोग को प्रदर्शित करने के लिए, हम निम्नलिखित स्टोर्ड प्रोसीजर बना रहे हैं जो 'student_info' नामक टेबल के मानों पर आधारित है:
mysql> SELECT * FROM student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Jaipur | Literature | | 125 | Raman | Shimla | Computers | +------+---------+------------+------------+ 3 rows in set (0.00 sec)
निम्नलिखित क्वेरी 'coursedetails_IF' नामक एक प्रोसीजर बनाएगी जिसमें IF स्टेटमेंट्स हैं:
mysql> DELIMITER // ;
mysql> CREATE PROCEDURE coursedetails_IF(IN S_Subject VARCHAR(20), OUT S_Course VARCHAR(20))
-> BEGIN
-> DECLARE Sub VARCHAR(20);
-> SELECT Subject INTO SUB FROM Student_info WHERE S_Subject = Subject;
-> IF Sub = 'Computers' THEN
-> SET S_Course = 'B.Tech(CSE)';
-> END IF;
-> END //
Query OK, 0 rows affected (0.00 sec)
अब, हम इस प्रोसीजर को आह्वान करते समय नीचे परिणाम देख सकते हैं:
mysql> DELIMITER ; //
mysql> CALL coursedetails_IF('Computers', @S_Course);
Query OK, 1 row affected (0.00 sec)
mysql> SELECT @S_Course;
+-------------+
| @S_Course |
+-------------+
| B.Tech(CSE) |
+-------------+
1 row in set (0.00 sec)