Procedure Function MySQL Tutorial

It has the following syntax:

ALTER PROCEDURE [.] 
The ALTER statement can change any of the characteristics used to create the procedure.
The following example changes the SQL SECURITY and COMMENT on the myProc procedure.

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.02 sec)
Query OK, 0 rows affected (0.02 sec)
mysql>
mysql> ALTER PROCEDURE myProc SQL SECURITY INVOKER
    ->   COMMENT 'This is my procedure';
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> SELECT * FROM mysql.proc WHERE name = 'myProc'\G
*************************** 1. row ***************************
              db: test
            name: myProc
            type: PROCEDURE
   specific_name: myProc
        language: SQL
 sql_data_access: CONTAINS_SQL
is_deterministic: NO
   security_type: INVOKER
      param_list: IN in_count INT
         returns:
            body: 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
         definer: root@localhost
         created: 2007-07-23 18:58:35
        modified: 2007-07-23 18:58:35
        sql_mode:
         comment: This is my procedure
1 row in set (0.00 sec)
mysql>
mysql> drop procedure myProc;
Query OK, 0 rows affected (0.00 sec)
mysql>