MySQL संग्रहीत कार्यविधि में इस प्रकार की त्रुटि से बचने के लिए, आपको सीमांकक को बदलने की आवश्यकता है; करने के लिए //।
मान लीजिए यदि आप संग्रहीत प्रक्रिया या ट्रिगर या यहां तक कि फ़ंक्शन का उपयोग कर रहे हैं तो आपको सीमांकक को बदलने की आवश्यकता है। वाक्य रचना इस प्रकार है।
DELIMITER // प्रक्रिया बनाएं yourProcedureName() BEGIN Statement1, . . NEND;//DELIMITER;
उपरोक्त सिंटैक्स को समझने के लिए, हम एक संग्रहित प्रक्रिया बनाते हैं। संग्रहीत कार्यविधि बनाने की क्वेरी इस प्रकार है -
mysql> DELIMITER //mysql> क्रिएट प्रोसेस sp_getAllRecords()-> BEGIN-> SELECT *FROM Employeetable;-> END;->//क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.23 सेकंड)mysql> DELIMITER;
कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को कॉल करें। वाक्य रचना इस प्रकार है।
कॉल yourStoreedProcedureName();
अब उपरोक्त प्रक्रिया को कॉल करें जो कर्मचारी तालिका के सभी रिकॉर्ड लौटाती है। क्वेरी इस प्रकार है।
mysql> कॉल sp_getAllRecords();
निम्न आउटपुट है।
<पूर्व>+---------------+--------------+----------------+| कर्मचारी आईडी | कर्मचारी का नाम | कर्मचारी वेतन |+---------------+--------------+----------------+| 2 | बॉब | 1000 || 3 | कैरल | 2500 |+---------------+--------------+----------------+2 पंक्तियाँ सेट में (0.00 सेकंड) क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.02 सेकंड)