Listing Stored Procedures

摘要:在本教程中,您将学习如何列出 MySQL 服务器中数据库中的存储过程。

使用SHOW PROCEDURE STATUS语句列出存储过程

以下是SHOW PROCEDURE STATUS语句的基本语法:

SHOW PROCEDURE STATUS [LIKE 'pattern' | WHERE search_condition]Code language: SQL (Structured Query Language) (sql)

SHOW PROCEDURE STATUS语句显示存储过程的所有特征,包括存储过程名称。它返回您有权访问的存储过程。

以下语句显示当前MySQL服务器中的所有存储过程:

SHOW PROCEDURE STATUS;Code language: SQL (Structured Query Language) (sql)

这是部分输出:

如果只想显示特定数据库中的存储过程,可以在SHOW PROCEDURE STATUS中使用WHERE子句,如以下语句所示:

SHOW PROCEDURE STATUS WHERE search_condition;Code language: SQL (Structured Query Language) (sql)

例如,以下语句列出示例数据库classicmodels中的所有存储过程:

SHOW PROCEDURE STATUS WHERE db = 'classicmodels';Code language: SQL (Structured Query Language) (sql)

如果您想查找名称包含特定单词的存储过程,可以使用LIKE子句,如下所示:

SHOW PROCEDURE STATUS LIKE '%pattern%'Code language: SQL (Structured Query Language) (sql)

以下语句显示名称包含单词Order的所有存储过程:

SHOW PROCEDURE STATUS LIKE '%Order%'Code language: SQL (Structured Query Language) (sql)

使用数据字典列出存储过程

information_schema数据库中的routines表包含了当前MySQL服务器中所有数据库的存储过程和存储函数的所有信息。

要显示特定数据库的所有存储过程,请使用以下查询:

SELECT 
    routine_name
FROM
    information_schema.routines
WHERE
    routine_type = 'PROCEDURE'
        AND routine_schema = '<database_name>';Code language: SQL (Structured Query Language) (sql)

例如,以下语句列出classicmodels数据库中的所有存储过程:

SELECT 
    routine_name
FROM
    information_schema.routines
WHERE
    routine_type = 'PROCEDURE'
        AND routine_schema = 'classicmodels';Code language: SQL (Structured Query Language) (sql)

使用 MySQL Workbench 显示存储过程

在 MySQL Workbench 中,您可以查看数据库中的所有存储过程。

步骤1.访问要查看存储过程的数据库。

步骤 2. 打开存储过程菜单。您将看到属于当前数据库的存储过程的列表。

在本教程中,您学习了如何通过从数据字典中查询数据库中的存储过程来列出它们。

本教程有帮助吗?