MySQL:可以从信息模式中提取存储过程信息吗?

MySQL:可以从信息模式中提取存储过程信息吗?,mysql,stored-procedures,schema,Mysql,Stored Procedures,Schema,是否可以从MySQL的信息模式中检索存储过程信息,如name,参数nane/position/type,或者以其他方式检索存储过程信息?您可以从信息模式中获取大量信息,包括名称 参数信息将包含在information\u SCHEMA.PARAMETERS表中,但该表在MySQL中不可用,因此我不确定您是否可以从information\u SCHEMA中获得该信息 如果只需要参数列表,可以从信息\u SCHEMA.ROUTINES中选择过程名称,然后使用。如果您只需要参数和类型,您应该能够毫不费

是否可以从MySQL的信息模式中检索存储过程信息,如
name
参数nane/position/type
,或者以其他方式检索存储过程信息?

您可以从
信息模式中获取大量信息,包括名称

参数信息将包含在
information\u SCHEMA.PARAMETERS
表中,但该表在MySQL中不可用,因此我不确定您是否可以从
information\u SCHEMA
中获得该信息


如果只需要参数列表,可以从
信息\u SCHEMA.ROUTINES
中选择过程名称,然后使用。如果您只需要参数和类型,您应该能够毫不费力地解析它们。

我相信,使用MySQL的内置备份程序mysqldump可以实现类似您正在寻找的功能。尝试一下:

mysqldump --routines --triggers --nodata --skip-opt YOURDB

详细信息:快速查看显示您肯定希望使用
--routines
选项以及可能的
--triggers
运行它。我猜您可能想跳过此转储中的大部分数据,只是为了查看过程,在这种情况下,您可能需要选项
--nodata--skip opt
,以及一些我尚未确定的其他选项。查看您的版本的文档,以获得您想要的任何其他选项。另请注意,您可以通过在末尾添加表名来指定数据库中的一些表。

信息\u SCHEMA.PARAMETERS似乎不存在..?不存在。它出现在MySQL 6中,但从未被后端口到MySQL 5.grrrr,因此无法从数据库生成存储过程类?您可以使用
SHOW CREATE procedure
()自己解析它。。。如果你只是解析参数列表,那就不会太难了。谢谢你一直思考,我认为James的解决方案已经足够了,但我一定会研究这个!