Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL存储过程错误_Mysql - Fatal编程技术网

MySQL存储过程错误

MySQL存储过程错误,mysql,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

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

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;
创建过程dowhile() 开始 声明I INT默认值为5 v1loop:当我<10000时 插入测试表1(A、B、C、D) 选择CONCAT(I,'A')、CONCAT(I,'B')、CONCAT(I,'C')、CONCAT(I,'D')) 设置I=I+1 循环时结束 结束; 在线检查-没有免费的MSSQL到MYSQL SQL转换工具

错误是 -Insert-SELECT语句中的SQL语法错误

我已经检查了语法,这似乎是正确的


任何指向这一点的指针都会很有帮助。

其实不错,您只需要添加一些分号并更改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 ;
分隔符$$
创建过程dowhile()
开始
声明I INT默认值为5;
v1loop:当我<10000时
插入测试表1(A、B、C、D)
选择CONCAT(I,'A')、CONCAT(I,'B')、CONCAT(I,'C')、CONCAT(I,'D');
设置I=I+1;
循环时结束;
结束$$
定界符;
刚刚在我的MySQL服务器上测试了这个