जैसा कि संग्रहीत प्रोग्राम परिभाषित करना के अंतर्गत प्रलेखित है :
अगर आप mysql का इस्तेमाल करते हैं क्लाइंट प्रोग्राम अर्धविराम वर्णों वाले एक संग्रहीत प्रोग्राम को परिभाषित करने के लिए, एक समस्या उत्पन्न होती है। डिफ़ॉल्ट रूप से, mysql स्वयं अर्धविराम को एक कथन सीमांकक के रूप में पहचानता है, इसलिए आपको अस्थायी रूप से सीमांकक को फिर से परिभाषित करना चाहिए ताकि mysql सर्वर को संपूर्ण संग्रहीत प्रोग्राम परिभाषा पास करने के लिए।
phpMyAdmin के बारे में भी यही सच है।
mysql को फिर से परिभाषित करने के लिए सीमांकक,
सीमांकक
का उपयोग करें आदेश।PhpMyAdmin के सभी संस्करण
सीमांकक
को नहीं पहचानते हैं आज्ञा; इसके बजाय, कोईDelimiter
. का उपयोग कर सकता है SQL इनपुट बॉक्स के नीचे इनपुट बॉक्स:देखें मैं phpMyAdmin (MySQL) में SP कैसे लिखूं?निम्नलिखित एक फ़ंक्शन का एक उदाहरण है जो एक पैरामीटर लेता है, एक SQL फ़ंक्शन का उपयोग करके एक ऑपरेशन करता है, और परिणाम देता है। इस मामले में,
सीमांकक
. का उपयोग करना अनावश्यक है क्योंकि फ़ंक्शन परिभाषा में कोई आंतरिक;
नहीं है स्टेटमेंट डिलीमीटर:mysql>
CREATE FUNCTION hello (s CHAR(20))
mysql>RETURNS CHAR(50) DETERMINISTIC
->RETURN CONCAT('Hello, ',s,'!');
Query OK, 0 rows affected (0.00 sec)आपके मामले में, आप
BEGIN ... END<को हटा सकते हैं /कोड>
कंपाउंड स्टेटमेंट ब्लॉक करें और सीमांकक बदलने की आवश्यकता से बचें।