Mega Code Archive

 
Categories / MySQL Tutorial / Procedure Function
 

The ALTER statement lets you change the characteristics of a stored procedure

It has the following syntax: ALTER PROCEDURE [<database>.]<procedure name> <characteristics> 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>