как написать хранимую процедуру для выполнения запросов через вызов. например,
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