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

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

समस्या

स्टोर्ड प्रोसीजर बनाते समय डिफ़ॉल्ट डिलीमीटर (;) क्वेरी को जल्दी समाप्त कर देता है।

समाधान

DELIMITER बदलें, प्रोसीजर बनाएं, फिर डिलीमीटर बहाल करें।

उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE DemoTable2028 (
    -> StudentFirstName VARCHAR(20),
    -> StudentLastName VARCHAR(20)
    -> );

स्टोर्ड प्रोसीजर बनाएं

mysql> DELIMITER //
mysql> CREATE PROCEDURE insert_name(IN fname VARCHAR(20), IN lname VARCHAR(20))
    -> BEGIN
    ->   INSERT INTO DemoTable2028 VALUES (fname, lname);
    -> END //
mysql> DELIMITER ;

प्रोसीजर कॉल करें

mysql> CALL insert_name('Chris', 'Brown');

परिणाम

+------------------+-----------------+
| StudentFirstName | StudentLastName |
+------------------+-----------------+
| Chris            | Brown           |
+------------------+-----------------+

मुख्य बिंदु: DELIMITER // BEGIN...END ब्लॉक को एक स्टेटमेंट के रूप में पार्स करने की अनुमति देता है।

  1. - MySQL स्टोर्ड प्रोसीजर में DELIMITER का सही उपयोग कैसे करें?

    MySQL स्टोर्ड प्रोसीजर बनाते समय DELIMITER का सही उपयोग आवश्यक है क्योंकि प्रोसीजर बॉडी में सेमीकॉलन (;) होते हैं जो डिफ़ॉल्ट स्टेटमेंट टर्मिनेटर हैं। सही सिंटैक्स DELIMITER // CREATE PROCEDURE procedure_name() BEGIN IF condition THEN statement1; ELSE statement2; END IF;

  1. - MySQL स्टोर्ड प्रोसीजर में DECLARE वेरिएबल और गणितीय संक्रिया

    MySQL स्टोर्ड प्रोसीजर में DECLARE से स्थानीय वेरिएबल घोषित करें, SET से मान असाइन करें, और गणना करें। स्टोर्ड प्रोसीजर बनाएं mysql> DELIMITER // mysql> CREATE PROCEDURE declare_demo_sp() BEGIN DECLARE Value1 INT; DECLARE Value2 INT; SET Value1 = 100; SET V

  1. - MySQL स्टोर्ड प्रोसीजर में टेबल में डेटा कैसे इन्सर्ट करें?

    MySQL स्टोर्ड प्रोसीजर के अंदर INSERT स्टेटमेंट का उपयोग करके टेबल में डेटा इन्सर्ट कर सकते हैं। पैरामीटर लेकर डायनामिक इन्सर्ट करने वाला प्रोसीजर पुन: उपयोग योग्य और सुरक्षित होता है। सिंटैक्स CREATE PROCEDURE procedure_name(IN param1 TYPE, IN param2 TYPE, ...) BEGIN INSERT INTO table_name (co