ストアドプロシジャで引数と制御構文を実装

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)