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 構文にエラーがあります。3 行目の near '' を使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

そしてこの男を強調します:

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 に答える