सशर्त MySQL क्वेरी के लिए, आप स्टोर्ड प्रोसीजर में IF ELSE अवधारणा का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE DemoTable1 (
Id INT
);
टेबल में कुछ रिकॉर्ड डालें:
mysql> INSERT INTO DemoTable1 VALUES(10); mysql> INSERT INTO DemoTable1 VALUES(20); mysql> INSERT INTO DemoTable1 VALUES(30);
टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> SELECT * FROM DemoTable1;
आउटपुट:
+------+ | Id | +------+ | 10 | | 20 | | 30 | +------+
दूसरी टेबल बनाने के लिए क्वेरी:
mysql> CREATE TABLE DemoTable2 ( Id INT );
दूसरी टेबल में रिकॉर्ड डालें:
mysql> INSERT INTO DemoTable2 VALUES(40); mysql> INSERT INTO DemoTable2 VALUES(50); mysql> INSERT INTO DemoTable2 VALUES(60);
दूसरी टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> SELECT * FROM DemoTable2;
आउटपुट:
+------+ | Id | +------+ | 40 | | 50 | | 60 | +------+
सशर्त MySQL क्वेरी के लिए स्टोर्ड प्रोसीजर बनाने की क्वेरी:
mysql> DELIMITER //
mysql> CREATE PROCEDURE Conditional_Query(id INT)
BEGIN
IF id >= 40 THEN
SELECT * FROM DemoTable2;
ELSE
SELECT * FROM DemoTable1;
END IF;
END //
mysql> DELIMITER ;
अब CALL कमांड की सहायता से स्टोर्ड प्रोसीजर को कॉल करें:
mysql> CALL Conditional_Query(100);
आउटपुट:
+------+ | Id | +------+ | 40 | | 50 | | 60 | +------+
फिर से कॉल करें और अलग मान पास करें:
mysql> CALL Conditional_Query(13);
आउटपुट:
+------+ | Id | +------+ | 10 | | 20 | | 30 | +------+