mysql> CREATE PROCEDURE pro_testdata(IN inr int)

    ->   BEGIN

    ->   DECLARE i INT DEFAULT 0;

    ->   START TRANSACTION;

    ->    WHILE i

    ->     INSERT INTO testdata(id,name) values(i,'gechong');

    ->     SET i=i+1;

    ->    END WHILE;

    ->   COMMIT;

    ->   END && 

Query OK, 0 rows affected (0.00 sec)


mysql>  

mysql> DELIMITER ;

mysql> call pro_testdata(1000000);

Query OK, 0 rows affected (10.37 sec)


mysql> SELECT COUNT(1) FROM testdata;

+----------+

| COUNT(1) |

+----------+

|  1000000 |

+----------+

1 row in set (0.00 sec)


mysql> CALL pro_testdata(10000);

Query OK, 0 rows affected (0.10 sec)


mysql> SELECT COUNT(1) FROM testdata;

+----------+

| COUNT(1) |

+----------+

|  1010000 |

+----------+

1 row in set (0.00 sec)