【问题标题】:Parameter error in mysql proceduremysql程序中的参数错误
【发布时间】:2012-06-25 02:27:56
【问题描述】:

此代码在参数声明中显示语法错误。请帮助我解决

分隔符 $$

CREATE DEFINER=`root`@`localhost` PROCEDURE `ADDCOURSE`(@Course varchar(45),@Branch varchar(45),@Batch INT)
BEGIN
    DECLARE I INT;
    SET I=1;
    LABEL1: LOOP
        INSERT INTO course 
        (Course, Branch, Batch)
         VALUES(@Course, @Branch, I);
        IF I <= @Batch THEN
            SET I=I+1;
            ITERATE LABEL1;
        END IF;
        LEAVE LABEL1;
     END LOOP LABEL1;
END

【问题讨论】:

  • 不要在标题行的参数名称中使用@。只是CourseBranch 等等……

标签: mysql parameters mysql-error-1064 ddl procedure


【解决方案1】:

试试这个:

DELIMITER $$

CREATE DEFINER = `root`@`localhost` PROCEDURE ADDCOURSE(
    Course varchar(45), Branch varchar(45), Batch INT
)

BEGIN
    DECLARE I INT;
    SET I = 1;
    LABEL1: LOOP
        INSERT INTO course 
        (Course, Branch, Batch)
         VALUES(@Course, @Branch, I);
        IF I <= @Batch THEN
            SET I=I+1;
            ITERATE LABEL1;
        END IF;
        LEAVE LABEL1;
    END LOOP LABEL1;
END

$$

【讨论】:

  • 正如 Marc B 所建议的...我刚刚删除了 @ 因为它似乎没有定义任何变量。
猜你喜欢
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
  • 2015-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-17
  • 2014-10-06
相关资源
最近更新 更多