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 पर पहुंचने पर आंतरिक चर गायब हो जाता है और इसे 'आउट ऑफ स्कोप' कहा जाता है। अवधारणा को समझने के लिए इस प्रक्रिया को निम्नानुसार लागू करें -

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 संग्रहीत कार्यविधि में शर्तें सेट करें

    किसी संग्रहीत कार्यविधि में शर्तें सेट करने के लिए, MySQL में IF...ELSE का उपयोग करें। if-else के लिए सिंटैक्स निम्नलिखित है - यदि आपकी स्थिति है तो आपका स्टेटमेंट1, ईएलएसई योरस्टेटमेंट2, अगर समाप्त करें; आइए हम उपरोक्त सिंटैक्स को एक संग्रहीत कार्यविधि में लागू करें - // क्वेरी ठीक है, 0 पंक्तिया

  1. एक MySQL संग्रहीत प्रक्रिया के अंदर डायनामिक SQL क्वेरी लागू करें?

    संग्रहीत कार्यविधि में गतिशील SQL क्वेरी के लिए, PREPARE STATEMENT की अवधारणा का उपयोग करें। आइए पहले एक टेबल बनाएं - mysql> create table DemoTable2033    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> Name varchar(20)    -> ); Que

  1. चरों के गतिशील आरंभीकरण से आप क्या समझते हैं?

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