如何找出mysql数据库中是否存在过程或函数?

xen*_*ide 20 mysql stored-procedures

如何找出mysql数据库中是否存在过程或函数?有任何发现选项吗?喜欢show procedures;(例如喜欢show tables;

Gai*_*ius 27

对此类问题的一般回答是,所有 MySQL 数据库都包含一个名为information_schema 的数据库,该数据库包含所有元数据作为您可以查询的表。

您需要的信息位于名为ROUTINES的表中。例如:

SELECT ROUTINE_NAME 
FROM INFORMATION_SCHEMA.ROUTINES 
WHERE 
       ROUTINE_TYPE="PROCEDURE" 
   AND ROUTINE_SCHEMA="dbname"
;
Run Code Online (Sandbox Code Playgroud)

  • 这也适用于 Oracle 和 SQL Server。我认为它是 ANSI 标准的一部分 (4认同)

Ben*_*enV 21

SHOW PROCEDURE STATUS
SHOW FUNCTION STATUS
Run Code Online (Sandbox Code Playgroud)

请参阅相关的 StackOverflow 问题