MySQL存储过程错误

时间:2011-05-24 13:58:11

标签: mysql

我有一个简单的存储过程,它将记录插入表中的四个字符字段。以下是程序

CREATE PROCEDURE dowhile()

BEGIN

DECLARE I INT DEFAULT 5

v1loop: WHILE I < 10000 DO

   INSERT INTO TestTable1(A,B,C,D)

   SELECT CONCAT(I,'A'), CONCAT(I,'B'), CONCAT(I,'C'), CONCAT(I,'D')

   SET I = I + 1

END WHILE v1loop

END;

在线查看 - 没有免费的MSSQL到MYSQL SQL转换工具

错误是 - 插入中的SQL语法错误 - SELECT语句

我检查了这个似乎正确的语法。

任何指示都会有所帮助。

1 个答案:

答案 0 :(得分:2)

实际上并不坏,你只需要添加一些分号并更改MySQL的默认分隔符。这需要完成,因为我们在SQL中使用SQL。

DELIMITER $$

CREATE PROCEDURE dowhile()

BEGIN

DECLARE I INT DEFAULT 5;

v1loop: WHILE I < 10000 DO

   INSERT INTO TestTable1(A,B,C,D)

   SELECT CONCAT(I,'A'), CONCAT(I,'B'), CONCAT(I,'C'), CONCAT(I,'D');

   SET I = I + 1;

END WHILE v1loop;

END$$

DELIMITER ;

刚刚在我的MySQL服务器上测试过它。