इस त्रुटि संदेश से छुटकारा पाने के लिए, आइए एक नमूना उदाहरण देखें। लेकिन इससे पहले आइए हम इसे ठीक करने की अवधारणा को देखें।
संग्रहित प्रक्रिया से मूल्य प्राप्त करने के लिए चर का प्रयोग करें। चर @ प्रतीक के साथ उपसर्ग करेगा। वाक्य रचना इस प्रकार है -
कॉल yourStoreedProcedureName(yourParameter1,yourParameter2,.......N,@yourVariableName);
चर के मूल्य को देखने के लिए आपको चयन कथन का उपयोग करने की आवश्यकता है। वाक्य रचना इस प्रकार है -
@yourVariableName चुनें;
उपरोक्त सिंटैक्स को समझने के लिए, आइए हम एक टेबल बनाएं और टेबल में कुछ रिकॉर्ड डालें।
तालिका बनाने की क्वेरी इस प्रकार है -
mysql> टेबल बनाएं StoredProcedureDemo -> ( -> Id int, -> Name varchar(10) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.20 सेकंड)
अब इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> StoredProcedureDemo मानों (1, 'जॉन') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.31 सेकंड) mysql> StoredProcedureDemo मानों (2, 'कैरोल') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकेंड) )
चयन कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> StoredProcedureDemo से *चुनें;
निम्न आउटपुट है -
<पूर्व>+----------+----------+| आईडी | नाम |+----------+----------+| 1 | जॉन || 2 | कैरल |+------+----------+2 पंक्तियों में सेट (0.00 सेकंड)यहां संग्रहीत कार्यविधि है जो एक मान लौटाती है। संग्रहीत कार्यविधि बनाने के लिए क्वेरी इस प्रकार है -
mysql> DELIMITER //mysql> क्रिएट प्रोसीजर Update_table(IN Id int, IN Name VARCHAR(20), OUT message VARCHAR(50)) -> BEGIN -> सेट मैसेज ='डेटाबेस अपडेट किया गया है'; -> StoredProcedureDemo में डालें -> मान (आईडी, नाम); -> अंत; ->//क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.67 सेकंड)mysql> DELIMITER;
अब संग्रहीत कार्यविधि को कुछ मानों के साथ कॉल करें -
mysql> Update_table(3,'Larry',@UserMessage) पर कॉल करें;
क्वेरी ठीक, 1 पंक्ति प्रभावित (0.13 सेकंड)
चयन कथन का उपयोग करके चर @UserMessage के मान की जाँच करें। क्वेरी इस प्रकार है -
mysql> @UserMessage चुनें;
निम्न आउटपुट है -
<पूर्व>+-------------------------------------+| @UserMessage |+---------------------------+| डेटाबेस को अपडेट कर दिया गया है |+--------------------------+1 पंक्ति सेट (0.00 सेकंड) मेंअब एक बार फिर से टेबल रिकॉर्ड्स की जांच करें। क्वेरी इस प्रकार है -
mysql> StoredProcedureDemo से *चुनें;
निम्न आउटपुट है -
<पूर्व>+----------+----------+| आईडी | नाम |+----------+----------+| 1 | जॉन || 2 | कैरल || 3 | लैरी |+----------+----------+3 पंक्तियों में सेट (0.00 सेकंड)उपरोक्त नमूना आउटपुट को देखें, आईडी 3 के साथ एक नया रिकॉर्ड डाला गया है। अब आपको त्रुटि संदेश नहीं मिलेगा।