Как я могу вызвать хранимую процедуру из командной строки?Как вызвать хранимую процедуру mysql с аргументами из командной строки?
у меня есть процедура:
CREATE DEFINER=`root`@`localhost` PROCEDURE `insertEvent`(IN `dateTimeIN` DATETIME)
NO SQL
BEGIN
SET @eventIDOut = NULL;
IF EXISTS(SELECT * FROM `events` WHERE `eventDate` = dateTimeIN) THEN
SELECT `eID` INTO @eventIDOut FROM `events` WHERE `eventDate` = dateTimeIN LIMIT 1;
ELSE
INSERT INTO `events` (`eventDate`) VALUES(dateTimeIN);
SET @eventIDOut = last_insert_id();
END IF;
SELECT CONCAT(@eventIDOut);
END
Я попытался это:
mysql> CALL insertEvent(2012.01.01 12:12:12);
Результат:
ERROR 1064 (42000): У вас ошибка в вашей Синтаксис SQL; проверить руководство, которое соответствует Вашей версии сервера MySQL для правого синтаксиса использовать вблизи '.01 12:12:12)' в строке 1
И это:
mysql> CALL insertEvent
-> 2012.01.01 12:12:12;
Результат:
ERROR 1064 (42000): у вас ошибка в вашем SQL синтаксиса; проверьте руководство, которое соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом с «2012.01.01 12:12:12» в строке 2