(खोज इंजन से इस प्रश्न पर आने वालों के लिए), जांचें कि आपकी संग्रहीत कार्यविधियाँ एक कस्टम सीमांकक घोषित करती हैं, क्योंकि यह वह त्रुटि है जिसे आप तब देख सकते हैं जब इंजन यह पता नहीं लगा सकता कि किसी कथन को कैसे समाप्त किया जाए:
यदि आपके पास डेटाबेस डंप है और देखें:
DROP PROCEDURE IF EXISTS prc_test;
CREATE PROCEDURE prc_test( test varchar(50))
BEGIN
SET @sqlstr = CONCAT_WS(' ', 'CREATE DATABASE', test, 'CHARACTER SET utf8 COLLATE utf8_general_ci');
SELECT @sqlstr;
PREPARE stmt FROM @sqlstr;
EXECUTE stmt;
END;
कस्टम DELIMITER
. के साथ रैप करने का प्रयास करें :
DROP PROCEDURE IF EXISTS prc_test;
DELIMITER $$
CREATE PROCEDURE prc_test( test varchar(50))
BEGIN
SET @sqlstr = CONCAT_WS(' ', 'CREATE DATABASE', test, 'CHARACTER SET utf8 COLLATE utf8_general_ci');
SELECT @sqlstr;
PREPARE stmt FROM @sqlstr;
EXECUTE stmt;
END;
$$
DELIMITER ;