MySQL सीमांकक तब होता है जब आप अर्धविराम (;) के साथ पाइप सीमांकक (|) का उपयोग कर रहे हों और 8.0.12 से कम MySQL संस्करण का उपयोग कर रहे हों।
MySQL पाइप (|) को एक सीमांकक मानता है और अर्धविराम (;) एक और सीमांकक है। इसलिए, MySQL सीमांकक को पाइप और अर्धविराम से भ्रमित न करें।
नोट :यहां, हम MySQL संस्करण 8.0.12 का उपयोग कर रहे हैं। पाइप सीमांकक अर्धविराम के साथ ठीक काम करता है। यदि आप 8.0.12 से कम संस्करण का उपयोग कर रहे हैं, तो यह एक सीमांकक त्रुटि की ओर जाता है।
यहाँ MySQL सीमांकक का कार्य है:
mysql> delimiter |;mysql> क्रिएट प्रोसीजर getSumOfTwoNumbers() -> start -> 2+3 को TotalValue के रूप में चुनें; -> अंत; -> |;क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.17 सेकंड)mysql> सीमांकक;
अब कॉल कमांड का उपयोग करके संग्रहीत कार्यविधि को कॉल करें। क्वेरी इस प्रकार है:
mysql> getSumOfTwoNumbers() पर कॉल करें;
निम्न आउटपुट है:
<पूर्व>+---------------+| टोटलवैल्यू |+---------------+| 5 |+-----------+1 पंक्ति सेट में (0.00 सेकंड)क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.01 सेकंड)उपरोक्त पाइप सीमांकक को अर्धविराम से प्राप्त न करें क्योंकि MySQL अर्धविराम में डिफ़ॉल्ट सीमांकक है जो MySQL में कथन के अंत को बताता है। इसलिए, जब आप एक से अधिक कथन लिख रहे हों, तो MySQL संग्रहीत कार्यविधि से वापस आने के लिए अर्धविराम का उपयोग किया जा सकता है।
यहाँ सीमांकक परिवर्तन का उदाहरण दिया गया है।
सबसे पहले, पाइप सीमांकक (|) का उपयोग करें। यदि आप डिलीमीटर को पाइप पर सेट करना चाहते हैं, तो निम्न क्वेरी का उपयोग करें।
mysql> DELIMITER |
संग्रहीत कार्यविधि बनाने की क्वेरी इस प्रकार है:
mysql> DELIMITER |mysql> क्रिएट प्रोसीजर डेमो() -> start -> 2*3 को TotalMultiplication के रूप में चुनें; -> अंत; -> |क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.12 सेकंड)
अब सीमांकक को अर्धविराम से बदलें। यदि आप सीमांकक को अर्धविराम पर सेट करना चाहते हैं, तो निम्न क्वेरी का उपयोग करें।
क्वेरी इस प्रकार है:
mysql> सीमांकक;