mysql>
mysql>
mysql>
mysql> DELIMITER //
mysql> CREATE PROCEDURE myProc (IN in_count INT)
-> BEGIN
-> DECLARE count INT default 0;
->
-> increment: LOOP
-> SET count = count + 1;
-> IF count < 20 THEN ITERATE increment; END IF;
-> IF count > in_count THEN LEAVE increment;
-> END IF;
-> END LOOP increment;
->
-> SELECT count;
-> END
-> //
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;
mysql>
mysql> call myProc(5);
+-------+
| count |
+-------+
| 20 |
+-------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql>
mysql>
mysql>
mysql> SHOW CREATE PROCEDURE test.myProc\G
*************************** 1. row ***************************
Procedure: myProc
sql_mode:
Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `myProc`(IN in_count INT)
BEGIN
DECLARE count INT default 0;
increment: LOOP
SET count = count + 1;
IF count < 20 THEN ITERATE increment; END IF;
IF count > in_count THEN LEAVE increment;
END IF;
END LOOP increment;
SELECT count;
END
1 row in set (0.00 sec)
mysql>
mysql> drop procedure myProc;
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql>
|