मैं END
. के बाद अर्धविराम हटा दूंगा .
...
END
|
DELIMITER ;
अपनी टिप्पणी दोबारा करें, नया डिलीमीटर घोषित करते समय आप वर्तमान डिलीमीटर का उपयोग नहीं कर सकते हैं। यह भ्रमित करने वाला लगता है, लेकिन विचार करें कि क्या आप ऐसा करते हैं:
DELIMITER |;
अब MySQL सोचेगा कि सीमांकक "|;" है (दो अक्षर, एक पाइप और एक अर्धविराम)। यदि आप इसके बारे में सोचते हैं, DELIMITER
चाहिए MySQL क्लाइंट द्वारा एक विशेष तरीके से व्यवहार किया जाए। यह एकमात्र कथन है जो नहीं वर्तमान सीमांकक द्वारा अनुसरण किया जाना चाहिए।
तो डिलीमीटर को पाइप पर सेट करते समय, यह करें:
DELIMITER |
इसे वापस अर्धविराम पर सेट करते समय, यह करें:
DELIMITER ;
FWIW, मैंने MySQL 5.0.75 पर अपने स्थानीय परीक्षण डेटाबेस पर बिना किसी त्रुटि के निम्नलिखित को चलाया:
DROP FUNCTION IF EXISTS PersonName;
DELIMITER |
CREATE FUNCTION PersonName( personID SMALLINT )
RETURNS CHAR(20)
BEGIN
DECLARE pname CHAR(20) DEFAULT '';
SELECT name INTO pname FROM family WHERE ID=personID;
RETURN pname;
END
|
DELIMITER ;