Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

mysql सीमांकक त्रुटि

मैं 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 ;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक mysql परिणाम सेट को पिवट करें और html तालिका/मैट्रिक्स बनाएं

  2. MySQL ट्यूटोरियल - MySQL सर्वर लॉग का प्रबंधन:घुमाएँ, संपीड़ित करें, बनाए रखें और हटाएं

  3. MacOS सिएरा पर mysql2 रत्न स्थापित नहीं कर सकता

  4. डेटाबेस में विदेशी कुंजी/प्राथमिक कुंजी के रूप में VARCHAR अच्छा या बुरा?

  5. सेट नाम बनाम mysqli_set_charset - mysqli_escape_string को प्रभावित करने के अलावा, क्या वे समान हैं?