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

MySQL स्टोर्ड प्रोसीजर के अंदर वेरिएबल्स के स्कोप का क्या अर्थ है?


मान लीजिए यदि हम एक BEGIN/END ब्लॉक के अंदर एक वेरिएबल घोषित करते हैं तो इस वेरिएबल का स्कोप इस विशेष ब्लॉक में होगा। हम उसी नाम से एक वेरिएबल को दूसरे BEGIN/END ब्लॉक के अंदर भी घोषित कर सकते हैं जो पूरी तरह से वैध होगा लेकिन इसका स्कोप इसके BEGIN/END ब्लॉक के अंदर होगा। इसे निम्न उदाहरण की मदद से समझा जा सकता है जिसमें हम वेरिएबल्स के स्कोप को दिखाने के लिए एक प्रोसीजर बना रहे हैं:

उदाहरण

mysql> Create Procedure Scope_variables()
    ->
    BEGIN
    DECLARE A Varchar(5) Default 'outer';
    BEGIN
    DECLARE A Varchar(5) Default 'inner';
    SELECT A;
    END;
    SELECT A;
    END;
    -> //
Query OK, 0 rows affected (0.08 sec)

उपरोक्त प्रोसीजर में, हमारे पास एक ही नाम यानी A के दो वेरिएबल्स हैं। यहां आंतरिक वेरिएबल घोषणा तब तक प्राथमिकता लेती है जब तक यह स्कोप में है। मुद्दा यह है कि आंतरिक वेरिएबल पहले END तक पहुंचने पर गायब हो जाता है और इसे 'OUT OF SCOPE' कहा जाता है। इस अवधारणा को समझने के लिए इस प्रोसीजर को निम्नानुसार इनवोक करें:

mysql> CALL Scope_variables();
+-------+
| A     |
+-------+
| inner |
+-------+
1 row in set (0.00 sec)

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

  1. - MySQL स्टोर्ड प्रोसीजर में IF...ELSE का उपयोग करके शर्तें सेट करना

    MySQL स्टोर्ड प्रोसीजर में IF...ELSE सशर्त तर्क MySQL स्टोर्ड प्रोसीजर IF...ELSE स्टेटमेंट का उपयोग करके सशर्त तर्क का समर्थन करते हैं, जिससे पैरामीटर मानों के आधार पर डायनामिक निष्पादन पथ सक्षम होते हैं। सिंटैक्स IF yourCondition THEN yourStatement1; ELSE yourStatement2; END IF; पूर्ण उदा

  1. - MySQL स्टोर्ड प्रोसीजर के अंदर डायनामिक SQL क्वेरी कैसे लागू करें

    समाधान PREPARE, EXECUTE, DEALLOCATE PREPARE स्टेटमेंट का उपयोग करें। उदाहरण टेबल बनाएं: INSERT INTO DemoTable2033 (Name) VALUES (Chris), (Bob), (David), (Mike); डायनामिक SQL के साथ प्रोसीजर DELIMITER ; कॉल करें CALL dynamic_query(); +----+-------+ | Id | Name | +----+-------+ | 3 | David | +

  1. - C++ में वेरिएबल्स की डायनामिक इनिशियलाइज़ेशन का क्या अर्थ है

    ऑब्जेक्ट की डायनामिक इनिशियलाइज़ेशन का तात्पर्य रन टाइम पर ऑब्जेक्ट्स को इनिशियलाइज़ करने से है यानी ऑब्जेक्ट का प्रारंभिक मान रन टाइम के दौरान प्रदान किया जाना है। डायनामिक इनिशियलाइज़ेशन कंस्ट्रक्टर्स का उपयोग करके और कंस्ट्रक्टर्स को पैरामीटर मान पास करके प्राप्त की जा सकती है। इस प्रकार की इनिशि