空MySQL存储过程不编译

时间:2016-07-29 09:56:29

标签: mysql stored-procedures

下面的MySQL程序代码标记第1行的错误。如果我删除下面存储过程的参数,它编译正常。

 DELIMITER $$ 
CREATE PROCEDURE test.USER_INPUT(@TITLE VARCHAR(20), @SEVERITY INT, @CLOSEDATE DATETIME)
 BEGIN     
 END
 DELIMITER ; 

上面的代码有什么问题?究竟问题在哪里?

1 个答案:

答案 0 :(得分:1)

有两个问题:

  1. 您在END
  2. 之后错过了分隔符
  3. 您的参数名称包含无效字符@。引用列名称,如果要保留@,或删除它。
  4. 将起作用:

    DELIMITER $$
    CREATE PROCEDURE test.USER_INPUT(TITLE VARCHAR(20), SEVERITY INT, CLOSEDATE DATETIME)
    BEGIN     
    END$$
    DELIMITER ; 
    

    还要确保数据库test存在。