mysql> delimiter //
mysql> CREATE TABLE t_test(s1 INT)//
Query OK, 0 rows affected (0.09 sec)
mysql> CREATE PROCEDURE sp_3 (IN param1 INT, IN param2 INT)
-> BEGIN
-> DECLARE var1 INT;
-> SET var1 = 0;
-> WHILE var1 < param1 DO
-> INSERT INTO t_test VALUES (param2);
-> IF param2 < 0 THEN
-> SET param2 = param2 - 1;
-> ELSE
-> SET param2 = param2 + 1;
-> END IF;
-> SET var1 = var1 + 1;
-> END WHILE;
-> END
-> //
Query OK, 0 rows affected (0.01 sec)
mysql> CALL sp_3(3,10) //
Query OK, 1 row affected (0.08 sec)
mysql> CALL sp_3(3,-10) //
Query OK, 1 row affected (0.08 sec)
mysql> SELECT * FROM t_test //
+------+
| s1 |
+------+
| 10 |
| 11 |
| 12 |
| -10 |
| -11 |
| -12 |
+------+
6 rows in set (0.00 sec)