0

我正在尝试创建一个简单的存储过程,该过程允许我进行批量插入,但是我遇到了语法问题并且无法弄清楚哪里出了问题,尽管将我的过程语法与现有示例进行了比较,这似乎是正确的。

CREATE PROCEDURE populateUserTable()
 BEGIN
  DECLARE counter int(10);
  SET counter = 1;
 WHILE counter < 101 DO
  INSERT INTO user(userid) values(counter);
  SET counter = counter + 1
 END WHILE;
END

运行时,MYSQL 状态: 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 '' 附近使用正确的语法

并突出显示这个人:

CREATE PROCEDURE populateUserTable( ) BEGIN DECLARE counter INT( 10 ) ;

这是怎么回事?

4

1 回答 1

1

你用过吗

DELIMITER $$

在开始时?

尝试

DELIMITER $$
CREATE PROCEDURE populateUserTable()
 BEGIN
   DECLARE counter int(10);
   SET counter = 1;
   WHILE counter < 101 DO
      INSERT INTO user(userid) values(counter);
      SET counter = counter + 1
   END WHILE;
END $$
DELIMITER ;
于 2012-12-05T00:29:34.727 回答