MySQL 如何更改MySQL存储过程?

MySQL 如何更改MySQL存储过程?

如果我们拥有存储过程的ALTER ROUTINE权限,则可以使用 ALTER PROCEDURE 语句更改MySQL存储过程。为了演示它,我们将使用名为“delete_studentinfo”的存储过程的示例,该存储过程具有以下创建语句 –

mysql> SHOW CREATE PROCEDURE Delete_studentinfo\G

*************************** 1. row ***************************

Procedure: Delete_studentinfo

sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_

ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `Delete_studentinfo`( IN p_id INT)

BEGIN

DELETE FROM student_info

WHERE ID=p_id;

END

character_set_client: cp850

collation_connection: cp850_general_ci

Database Collation: latin1_swedish_ci

1 row in set (0.01 sec)

在上面的结果集中,可以清楚地看出存储过程“delete_studentinfo”中没有注释。现在,使用ALTER PROCEDURE语句,我们可以添加注释如下 –

mysql> ALTER PROCEDURE Delete_studentinfo

-> COMMENT 'deleting the record'//

Query OK, 0 rows affected (0.03 sec)

现在,可以确认已经在存储过程中添加了注释,可以通过以下查询的结果集进行确认 –

mysql> SHOW CREATE PROCEDURE Delete_studentinfo\G

*************************** 1. row ***************************

Procedure: Delete_studentinfo

sql_mode: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_

ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Create Procedure: CREATE DEFINER=`root`@`localhost` PROCEDURE `Delete_studen

tinfo`( IN p_id INT)

COMMENT 'deleting the record'

BEGIN

DELETE FROM student_info

WHERE ID=p_id;

END

character_set_client: cp850

collation_connection: cp850_general_ci

Database Collation: latin1_swedish_ci

1 row in set (0.00 sec)

阅读更多:MySQL 教程