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

MySQL में स्टोर्ड प्रोसीजर और सेलेक्ट में IF का उपयोग कैसे करें?


आप स्टोर्ड प्रोसीजर में IF और सेलेक्ट स्टेटमेंट में IF() का उपयोग कर सकते हैं।

सेलेक्ट स्टेटमेंट में IF()

IF() in select statement mysql> select if(0=0,'Hello MySQL','condition is wrong');

इससे निम्न आउटपुट प्राप्त होगा:

+------------------------------------------------------+ | if('test'='test','Hello MySQL','condition is wrong') | +------------------------------------------------------+ | Hello MySQL | +------------------------------------------------------+ 1 row in set (0.00 sec)

दूसरा केस जब आपकी शर्त गलत हो जाती है:

mysql> select if(1=0,'Hello MySQL','condition is wrong');

इससे निम्न आउटपुट प्राप्त होगा:

+--------------------------------------------+ | if(1=0,'Hello MySQL','condition is wrong') | +--------------------------------------------+ | condition is wrong | +--------------------------------------------+ 1 row in set (0.00 sec)

स्टोर्ड प्रोसीजर में IF

स्टोर्ड प्रोसीजर बनाने का क्वेरी इस प्रकार है। यहाँ हमने शर्तें सेट करने के लिए 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 ;

अब आप CALL कमांड का उपयोग करके स्टोर्ड प्रोसीजर को कॉल कर सकते हैं।

mysql> call if_demo(1);

इससे निम्न आउटपुट प्राप्त होगा:

+-------------+ | Hello MySQL | +-------------+ | Hello MySQL | +-------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)

यदि आपकी शर्त गलत हो जाती है:

mysql> call if_demo(0);

इससे निम्न आउटपुट प्राप्त होगा:

+-----------------+ | Wrong Condition | +-----------------+ | Wrong Condition | +-----------------+ 1 row in set (0.00 sec) Query OK, 0 rows affected (0.01 sec)

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

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

  1. - MySQL में UPDATE के साथ सबक्वेरी (SELECT) का उपयोग कैसे करें?

    MySQL में UPDATE स्टेटमेंट के WHERE क्लॉज में सबक्वेरी का उपयोग करके अन्य तालिका या शर्त के आधार पर पंक्तियों को अपडेट किया जा सकता है। सिंटैक्स UPDATE table_name SET column = value WHERE column IN (SELECT ... FROM ...); उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Id INT, Name VARCHAR(2

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

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