MySQL में स्टोर्ड प्रोसीजर बनाते समय डिफ़ॉल्ट डिलीमीटर सेमीकॉलन (;) का उपयोग नहीं किया जा सकता क्योंकि प्रोसीजर बॉडी में सेमीकॉलन होते हैं। DELIMITER कमांड से अस्थायी डिलीमीटर (जैसे //) सेट करना आवश्यक है।
सही सिंटैक्स
DELIMITER //
CREATE PROCEDURE yourProcedureName()
BEGIN
yourStatement1;
...
yourStatementN;
END //
DELIMITER ;
उदाहरण: संदेश प्रिंट करने वाला प्रोसीजर
mysql> DELIMITER //
mysql> CREATE PROCEDURE get_Message()
-> BEGIN
-> SELECT CONCAT('HELLO', ' ', 'MYSQL USERS');
-> END //
Query OK, 0 rows affected (0.23 sec)
mysql> DELIMITER ;
प्रोसीजर कॉल करना
mysql> CALL get_Message();
आउटपुट
+-----------------------------------+
| CONCAT('HELLO',' ','MYSQL USERS') |
+-----------------------------------+
| HELLO MYSQL USERS |
+-----------------------------------+
महत्वपूर्ण: हमेशा प्रोसीजर निर्माण के बाद DELIMITER ; से डिफ़ॉल्ट डिलीमीटर बहाल करें। अन्यथा बाद के स्टेटमेंट्स विफल होंगे। सामान्य विकल्प: //, $$, ||, ##।