【发布时间】:2017-09-04 13:19:48
【问题描述】:
我正在尝试创建存储过程,但每次尝试运行代码时都会引发错误:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 10 行的 '' 附近使用正确的语法
这是我要创建的存储过程:
CREATE DEFINER=`root`@`localhost` PROCEDURE getMantencionByPlate(
xParam char(10),
xParam2 char(10)
)
BEGIN
SELECT DISTINCT
*
FROM mantenciones
WHERE ifnull(estado,'')<>'ELIMINADO' and brainbox=xParam and patente=xParam2
ORDER BY fecing desc;
END
DELIMITER ;
【问题讨论】:
-
默认分隔符是
;,你的代码在ORDER BY fecing desc之后结束,compound statement不完整。 dev.mysql.com/doc/refman/5.7/en/stored-programs-defining.html -
谢谢,通过在开头添加 DELIMITER ;; 和 END;; 解决了这个问题。