Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL स्टोर्ड प्रोसीजर में शर्तों (IF-ELSE) को सही तरीके से कैसे लागू करें?

MySQL स्टोर्ड प्रोसीजर में सशर्त तर्क (Conditional Logic) लागू करने के लिए IF-THEN-ELSE स्टेटमेंट का उपयोग किया जाता है। सही सिंटैक्स और डिलिमिटर का ध्यान रखना महत्वपूर्ण है।

सही सिंटैक्स

DELIMITER //
CREATE PROCEDURE procedure_name(IN param_name INT)
BEGIN
    IF condition THEN
        statement1;
    ELSE
        statement2;
    END IF;
END //
DELIMITER ;

पूर्ण उदाहरण

mysql> DELIMITER //
mysql> CREATE PROCEDURE Test_Demo(IN inputValue INT)
    -> BEGIN
    ->     IF inputValue = 10 THEN
    ->         SELECT 'You have won 100$';
    ->     ELSE
    ->         SELECT 'Sorry !!!';
    ->     END IF;
    -> END //
Query OK, 0 rows affected (0.20 sec)
mysql> DELIMITER ;

प्रोसीजर कॉल करें

mysql> CALL Test_Demo(10);

आउटपुट

+-------------------+
| You have won 100$ |
+-------------------+
| You have won 100$ |
+-------------------+

महत्वपूर्ण बिंदु

  • DELIMITER // - डिफ़ॉल्ट सेमीकॉलन को अस्थायी रूप से बदलता है
  • END // - प्रोसीजर के अंत को चिह्नित करता है
  • DELIMITER ; - डिलिमिटर को वापस सेमीकॉलन पर सेट करता है
  • IF ... THEN ... ELSE ... END IF; - प्रत्येक स्टेटमेंट सेमीकॉलन से समाप्त होना चाहिए

सामान्य गलती: END IF के बाद सेमीकॉलन भूलना या गलत डिलिमिटर उपयोग करना।

  1. - MySQL स्टोर्ड प्रोसीजर में DELIMITER का सही उपयोग कैसे करें?

    MySQL स्टोर्ड प्रोसीजर बनाते समय DELIMITER का सही उपयोग आवश्यक है क्योंकि प्रोसीजर बॉडी में सेमीकॉलन (;) होते हैं जो डिफ़ॉल्ट स्टेटमेंट टर्मिनेटर हैं। सही सिंटैक्स DELIMITER // CREATE PROCEDURE procedure_name() BEGIN IF condition THEN statement1; ELSE statement2; END IF;

  1. - MySQL में स्टोर्ड प्रोसीजर में IF ELSE लागू करें?

    IF-ELSE लागू करने के लिए, सिंटैक्स निम्न है: if yourCondition then yourStatement1; else yourStatement2; end if ; स्टोर्ड प्रोसीजर में IF-ELSE की उपरोक्त अवधारणा को समझने के लिए, आइए एक स्टोर्ड प्रोसीजर बनाते हैं: mysql> delimiter // mysql> create procedure If_else_stored_demo(value in

  1. - MySQL स्टोर्ड प्रोसीजर में डिलीमीटर का सही उपयोग और मान डालना

    समस्या स्टोर्ड प्रोसीजर बनाते समय डिफ़ॉल्ट डिलीमीटर (;) क्वेरी को जल्दी समाप्त कर देता है। समाधान DELIMITER बदलें, प्रोसीजर बनाएं, फिर डिलीमीटर बहाल करें। उदाहरण टेबल बनाएं: ); स्टोर्ड प्रोसीजर बनाएं DELIMITER ; प्रोसीजर कॉल करें CALL insert_name(Chris, Brown); परिणाम +------------------+---