mysql5.0命令行脚本中执行mysql> create database myplayer;
Query OK, 1 row affected (0.00 sec)mysql> use myplayer;
Database changed
mysql> create table test(a int,b varchar(10));
Query OK, 0 rows affected (0.10 sec)mysql> delimiter $
mysql> CREATE PROCEDURE myplayer.pp ()
    -> BEGIN
    ->   DECLARE iCnt INT DEFAULT 0;
    ->   WHILE iCnt < 10 DO
    ->     INSERT INTO test(a,b) VALUES (iCnt, 'aa');
    ->     set iCnt = iCnt + 1;
    ->   END WHILE;
    -> END;
    -> $
Query OK, 0 rows affected (0.00 sec)mysql> delimiter ;
mysql> call pp();
Query OK, 1 row affected (0.02 sec)mysql> select * from test;
+------+------+
| a    | b    |
+------+------+
|    0 | aa   |
|    1 | aa   |
|    2 | aa   |
|    3 | aa   |
|    4 | aa   |
|    5 | aa   |
|    6 | aa   |
|    7 | aa   |
|    8 | aa   |
|    9 | aa   |
+------+------+
10 rows in set (0.00 sec)

解决方案 »

  1.   

    CREATE PROCEDURE myplayer.pp ()
    BEGIN
      DECLARE iCnt INT DEFAULT 0;
      WHILE iCnt < 10 DO
        INSERT INTO test(a,b) VALUES (iCnt, 'aa');
        set iCnt = iCnt + 1;
      END WHILE;
    END;
      

  2.   

    不行啊在MySql Query Browser里面执行还是有错阿!!!
      

  3.   

    搞定
    原来创建存储过程的那个End后不能带分号阿