procedimientos - ¿Cómo llamar a un procedimiento almacenado mysql, con argumentos, desde la línea de comandos?
mysql call function (1)
Con citas alrededor de la fecha:
mysql> CALL insertEvent(''2012.01.01 12:12:12'');
¿Cómo puedo llamar a un procedimiento almacenado desde la línea de comandos?
Tengo un procedimiento:
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
Intenté esto:
mysql> CALL insertEvent(2012.01.01 12:12:12);
Resultado:
ERROR 1064 (42000): tiene un error en su sintaxis SQL; revise el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta para usar cerca de ''.01 12:12:12)'' en la línea 1
Y esto:
mysql> CALL insertEvent
-> 2012.01.01 12:12:12;
Resultado:
ERROR 1064 (42000): tiene un error en su sintaxis SQL; revise el manual que corresponde a su versión del servidor MySQL para la sintaxis correcta para usar cerca de ''2012.01.01 12:12:12'' en la línea 2