Как написать хранимую процедуру для выполнения запросов через вызов - PullRequest
0 голосов
/ 20 июня 2019

как написать хранимую процедуру для выполнения запросов через вызов. например,

CALL splitter("insert into customer(num1,num2) VALUES ('2','4')  ON DUPLICATE KEY UPDATE num1=num1+7,num2=num2+1;");

У меня есть процедура:

PROCEDURE `splitter`(inputsql TEXT)
BEGIN
    DECLARE X  INT;
    DECLARE Y INT;
    DECLARE ssql VARCHAR(10000);
SET Y = LENGTH(inputsql) - LENGTH(REPLACE(inputsql, '\n', '')) + 1;
SET X = 1;
WHILE X  <= Y DO
 SET @ssql = SPLIT_STRING(inputsql,'\n',X);
        PREPARE stmt FROM @ssql;
        EXECUTE stmt;
         SET  X = X + 1; 
 END WHILE; 

я получаю следующую ошибку

В вашем синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с 'DU' в строке 1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...