MySQL数据库中存储过程的总数

3
如何获取MySQL数据库中存储过程的总数?我需要在信息模式中查找吗?

1
是的,你应该检查INFORMATION_SCHEMA。具体来说,可以参考这个答案 - Mahesh
可能是重复的问题,参考MySQL命令行下存储过程/函数列表 - Mahesh
总数?是对所有用户,还是只针对您可以访问的存储过程? - jarlh
3个回答

10
您可以使用此功能查看过程列表。
SELECT ROUTINE_NAME
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE="PROCEDURE" 
AND ROUTINE_SCHEMA="dbname";

您可以在这里了解更多相关的IT技术内容。

所有程序例程,还是只有当前用户可以访问的? - jarlh

3
尝试这个解决方案,只需将最后一行中的数据库名称替换即可。
SELECT count(ROUTINE_NAME)procedure_count
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE="PROCEDURE" 
AND ROUTINE_SCHEMA="your database name";

代码需要解释说明,因为其他人应该能够从你的代码中学习。此外,请不要粗鲁。 - Nico Haase

0

这对我有用

SELECT     
    COUNT(*) as 'Stored Procedures'     
FROM SYS.OBJECTS
WHERE TYPE ='P'
GROUP BY TYPE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接