SHOW CREATE PROCEDURE
SHOW CREATE PROCEDURE 语句用于显示已创建存储程序的信息。
SHOW CREATE PROCEDURE 语句的语法如下:
SHOW CREATE PROCEDURE proc_name
要使用此语句,您必须是 DEFINER 所定义的用户,并具有 SHOW_ROUTINE 权限,具有全局级别的 SELECT 权限,或者对该例程具有 CREATE ROUTINE、ALTER ROUTINE 或 EXECUTE 权限。如果只有 REATE ROUTINE、ALTER ROUTINE 或 EXECUTE 权限,则 Create Procedure(创建过程)或 Create Function(创建函数)字段值显示为 NULL。
SHOW CREATE PROCEDURE 输出如下信息:
-
Procedure:存储过程名称。 -
sql_mode:执行存储过程时生效的 SQL 模式。 -
Create Procedure:定义存储过程的CREATE PROCEDURE语句。 -
character_set_client:创建存储过程时character_set_client系统变量在当前会话的值。 -
collation_connection:创建存储过程时collation_connection系统变量在当前会话的值。 -
Database Collation:与存储过程相关联的数据库的排序规则。
存储过程的信息也可从 INFORMATION_SCHEMA ROUTINES 表中获得。详细信息请参见 INFORMATION_SCHEMA PARAMETERS。
SHOW CREATE PROCEDURE 语句的示例如下:
SHOW CREATE PROCEDURE proc_name;
返回结果如下所示:
+-------------+----------+-----------------+-----------------------+----------------------+--------------------+
| Procedure | sql_mode | Create Procedure | character_set_client | collation_connection | Database Collation |
+----------+----------+-----------------+-----------------------+----------------------+-----------------------+
| proc_name | STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE |CREATE PROCEDURE `test`.`proc_name`() BEGIN DECLARE var_name VARCHAR(20) DEFAULT 'ZhangSan'; SET var_name = 'LiSi'; SELECT var_name; END | utf8mb4 | utf8mb4_general_ci | utf8mb4_general_ci |
+----------+----------+-----------------+-----------------------+----------------------+-----------------------+
1 row in set