Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL स्टोर्ड प्रोसीजर में DELIMITER का सही उपयोग करके BEGIN/END त्रुटियों से बचें

स्टोर्ड प्रोसीजर परिभाषित करते समय स्टेटमेंट डिलीमीटर को अस्थायी रूप से बदलने के लिए DELIMITER कमांड का उपयोग करें, जिससे बॉडी के अंदर सेमीकोलन की अनुमति मिलती है।

सही सिंटैक्स

mysql> DELIMITER //
mysql> CREATE PROCEDURE correct_procedure()
BEGIN
    SELECT 'Hello MySQL !!!';
END //
Query OK, 0 rows affected (0.12 sec)
mysql> DELIMITER ;

स्टोर्ड प्रोसीजर कॉल करना

mysql> CALL correct_procedure();

आउटपुट:

+-----------------+
| Hello MySQL !!! |
+-----------------+
| Hello MySQL !!! |
+-----------------+
1 row in set (0.00 sec)

व्याख्या: डिफ़ॉल्ट डिलीमीटर ; है। इसे // (या कोई अन्य अप्रयुक्त स्ट्रिंग) में बदलने से पार्सर को पता चलता है कि पूरी प्रोसीजर परिभाषा एक स्टेटमेंट है। अंत में डिलीमीटर को ; पर रीसेट करें।

  1. - MySQL स्टोर्ड प्रोसीजर में NULL या खाली वेरिएबल की जांच करें

    NULL या खाली वेरिएबल की जांच के लिए IF कंडीशन का उपयोग करें। आइए एक स्टोर्ड प्रोसीजर बनाते हैं: mysql> delimiter // mysql> create procedure checkingForNullDemo(Name varchar(20)) begin if Name is NULL OR Name= then select Adam Smith; else select Name; end if ; end /

  1. - MySQL स्टोर्ड प्रोसीजर में IN() से विशिष्ट रिकॉर्ड चुनें

    स्टोर्ड प्रोसीजर में IN() पैरामीटर से सटीक मिलान करें स्टोर्ड प्रोसीजर में IN() क्लॉज का उपयोग करके पास किए गए पैरामीटर से सटीक मिलान वाली पंक्ति चुनें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable2004 ( UserId varchar(20), UserName varchar(20) ); Query OK, 0 rows affected (0.57 sec) m

  1. - MySQL स्टोर्ड प्रोसीजर में डिलीमीटर का सही उपयोग और मान डालना

    समस्या स्टोर्ड प्रोसीजर बनाते समय डिफ़ॉल्ट डिलीमीटर (;) क्वेरी को जल्दी समाप्त कर देता है। समाधान DELIMITER बदलें, प्रोसीजर बनाएं, फिर डिलीमीटर बहाल करें। उदाहरण टेबल बनाएं: ); स्टोर्ड प्रोसीजर बनाएं DELIMITER ; प्रोसीजर कॉल करें CALL insert_name(Chris, Brown); परिणाम +------------------+---