MySQL。程序,语法错误

标签 mysql sql database stored-procedures

我正在尝试了解程序的工作原理,但出现错误,但我不知道原因。

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/

相关文章:

php - 使用 PHP Ajax 代码在 MySQL 数据库中存储开/关按钮的值抛出错误

php mysql gallery 数组排序

java - 如何在 Java SQL declareParameter 调用中声明字符串数组?

mysql - 如何在无迁移系统中处理数据库?

java - JDBC - 创建/准备好的语句 : What happens and are they concurrent?

mysql - 将数字的中间值更改为 "xxxx"

MySQL 帐户之间的共同关注者

php - 向mysql中的WHERE子句添加动态数量的变量

mysql - 如何命名 SQL FOREIGN KEY 约束 CREATE 两个表列到关系表中

php - 使用 crypt() 对数据库进行哈希处理后 PHP 登录脚本出现问题