查看 MySQL 中的存储过程/函数定义?

mysqlmysqli database

要查看 MySQL 中的存储过程/函数定义,可以使用 show 命令。语法如下 −

SHOW CREATE PROCEDURE yourProcedureName;

要理解上述语法,您可以创建一个过程并检查该定义。让我们创建一个存储过程−

mysql> delimiter //
mysql> create procedure AllRecords()
   -> begin
   -> select *from student;
   -> end //
Query OK, 0 rows affected (0.24 sec)

您可以使用call命令来调用存储过程。查询如下 −

mysql> delimiter ;
mysql> call AllRecords();

以下是输出 −

+------+-------+
| id   | Name  |
+------+-------+
| 1    | John  |
| 2    | Bob   |
| 3    | Smith |
| 6    | John  |
+------+-------+
4 rows in set (0.14 sec)

Query OK, 0 rows affected (0.18 sec)

现在,您可以借助我们在开始时讨论过的上述语法来检查定义。查询如下 −

mysql> show create procedure AllRecords;

这是输出 −

+------------+--------------------------------------------+-----------------------------------------------------------------------+----------------------+----------------------+--------------------+
| Procedure  | sql_mode                                   | Create Procedure                                                      | character_set_client | collation_connection | Database Collation |
+------------+--------------------------------------------+-----------------------------------------------------------------------+----------------------+----------------------+--------------------+
| AllRecords | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION | CREATE DEFINER=`root`@`%` PROCEDURE `AllRecords`() begin select *from student;end | utf8     | utf8_general_ci      | utf8mb4_unicode_ci |
+------------+--------------------------------------------+-----------------------------------------------------------------------+----------------------+----------------------+--------------------+
1 row in set (0.00 sec)

要检查 MySQL 中的函数定义,可以使用 function 代替 procedure。语法如下: −

SHOW CREATE FUNCTION yourFunctionName;

相关文章