您的位置:首页 > 数据库 > MySQL

第一个MYSQL存储过程以及其中遇到的空格问题

2017-03-25 13:59 369 查看
最近写了一个mysql存储过程,遇到了一个极其奇怪的问题,提示如下:

[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET I = I+1;   

    END WHILE;   

END' at line 7

后来经过一些列排查,发现是因为while do后面多了几个空格,但是为什么空格会使sql报错,至今未解。

错误程序:

WHILE I < 200 DO        

        SET I = I+1;   

    END WHILE;   

正确程序:

WHILE I < 200 DO

        SET I = I+1;   

    END WHILE;   

两者的区别就是前者DO后面多了几个空格,有懂得大神请给我留言哦。

下面附上我的第一个存储过程代码:

DELIMITER $$     

DROP PROCEDURE IF EXISTS MYpro$$     

CREATE PROCEDURE MYpro()   

BEGIN   

declare  i int ; 

declare dayString varchar(20);

declare beforeDay varchar(20);

set dayString ='';

set beforeDay='';

    SET I = 0;   

    WHILE I < 200 DO   

/*业务代码*/

        SET I = I+1;   

    END WHILE;   

END$$     

DELIMITER ;  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: