简体   繁体   English

MySQL-存储过程语法错误

[英]MySQL - Stored Procedure Syntax Error

What is wrong with "program" below that is preventing me from creating this stored procedure? 下面的“程序”有什么问题使我无法创建此存储过程? Any help or clean up suggestions would be great. 任何帮助或清理建议都很好。

DELIMITER $$
DROP PROCEDURE IF EXISTS baixa_estacio;
CREATE PROCEDURE baixa_estacio (IN id int(11))
BEGIN
    DECLARE estacio2 INT;
    DECLARE temps1 TIME(7);
    DECLARE dist1 FLOAT;
    DECLARE estacio1 INT;
    DECLARE estacio3 INT;
    DECLARE temps2 TIME(7);
    DECLARE dist2 FLOAT;
    SELECT id_estacioescomunica, temps, distancia INTO estacio2, temps1, dist1 FROM escomunica WHERE escomunica.id_estacioescomunica= id;
    SELECT id_estaciocomunicada,id_estacioescomunica,temps,distancia INTO estacio1,estacio3, temps2, dist2 FROM escomunica WHERE escomunica.id_estacioescomunicada = id;
    DELETE FROM escomunica WHERE ((id_estacioescomunica = id)  AND (EsTransbordament)=1);
    DELETE FROM escomunica WHERE ((id_estaciocomunicada = id) AND (EsTransbordament)=0);
    UPDATE escomunica SET id_estacioescomunica =  estacio3, temps = SEC_TO_TIME(( TIME_TO_SEC (temps1) + TIME_TO_SEC (temps2))), distancia - (dist1 + dist2) WHERE ((id_estacioescomunica-id)AND(estransbordament)=0);
    END;
    $$
    DELIMITER;

I dont know what could be wrong. 我不知道有什么问题。 The message error shows the next: 消息错误显示下一个:

1064 - You have an error in your SQL syntax; 1064-您的SQL语法有误; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE PROCEDURE baixa_estacio (IN id INT) BEGIN DECLARE estacio2 INT; 检查与您的MySQL服务器版本相对应的手册,以在'CREATE PROCEDURE baixa_estacio(IN id INT)BEGIN DECLARE estacio2 INT附近使用正确的语法; ' at line 2 '在第2行

You have to terminate queries outsite sproc using the delimiter you defined. 您必须使用定义的定界符终止查询异地存储过程。 ie DROP PROCEDURE IF EXISTS baixa_estacio$$ not ";" 例如, DROP PROCEDURE IF EXISTS baixa_estacio$$ not ";"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM