समस्या
स्टोर्ड प्रोसीजर बनाते समय डिफ़ॉल्ट डिलीमीटर (;) क्वेरी को जल्दी समाप्त कर देता है।
समाधान
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 ब्लॉक को एक स्टेटमेंट के रूप में पार्स करने की अनुमति देता है।