我正在尝试了解程序的工作原理,但出现错误,但我不知道原因。
DELIMITER //
CREATE PROCEDURE producer
(IN marcaMasinii VARCHAR(20))
SELECT DISTINCT producator, AVG(pret) AS medie
FROM vehicul v
JOIN proprietate p
ON v.id_vehicul = p.nr_vehicul
WHERE producator = marcaMasinii;
END //
DELIMITER ;
CALL producer("Dacia");
我有这个过程,但在“END//”所在的行上出现错误。 错误听起来像这样:
"Syntax error, unexpected END, expecting $END."
如果我添加“BEGIN”,代码如下所示:
DELIMITER //
CREATE PROCEDURE producer
(IN marcaMasinii VARCHAR(20))
BEGIN
SELECT DISTINCT producator, AVG(pret) AS medie
FROM vehicul v
JOIN proprietate p
ON v.id_vehicul = p.nr_vehicul
WHERE producator = marcaMasinii;
END //
DELIMITER ;
CALL producer("Dacia");
错误如下所示:
"Syntax error, unexpected CREATE, expecting END_OF_INPUT or ;"
语法有什么问题?有人可以解释一下吗?
最佳答案
将BEGIN
放在SELECT
之前。您需要阅读http://dev.mysql.com/doc/refman/5.0/en/create-procedure.html首先。
关于MySQL。程序,语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23936023/