在 MySQL 中檢視儲存過程/函式定義?


若要檢視 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;

更新於:2019 年 7 月 30 日

3K+ 瀏覽量

啟動您的職業生涯

完成課程認證

立即開始
廣告
© . All rights reserved.