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)
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)
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;
原来创建存储过程的那个End后不能带分号阿