是否可以从MySQL的信息架构中检索存储过程信息,如name
,parameter nane/position/type
,或者以其他方式检索?
答案 0 :(得分:3)
您可以从INFORMATION_SCHEMA.ROUTINES
获取大量信息,包括姓名。 See the MySQL Manual for details.
参数信息将包含在INFORMATION_SCHEMA.PARAMETERS
表中,但此表在MySQL中不可用,因此我不确定您是否可以从INFORMATION_SCHEMA
获取该信息。
如果您只需要参数列表,则可以从INFORMATION_SCHEMA.ROUTINES
中选择过程名称,然后使用SHOW CREATE PROCEDURE
获取每个过程的CREATE PROCEDURE
语句。如果你只需要参数和类型,你应该能够毫不费力地解析它们。
答案 1 :(得分:0)
我相信使用MySQL的内置备份程序可以实现您正在寻找的东西:mysqldump。试一试:
mysqldump --routines --triggers --nodata --skip-opt YOURDB
详细信息:快速查看documentation (MySQL 5.4),您肯定希望使用--routines
选项以及--triggers
运行它。我猜你要跳过这个转储中的大部分数据,只是为了查看过程,在这种情况下你可能需要选项--nodata --skip-opt
以及我还没有确定的其他一些选项。查看您的版本的文档,了解您想要的任何其他选项。另请注意,您可以通过在末尾添加名称来指定数据库中的一些表。
答案 2 :(得分:0)
试试这个
[]
这将列出例程输入/输出参数。