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

时间:2009-10-17 13:31:17

标签: mysql stored-procedures schema

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

3 个答案:

答案 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)

试试这个

[]

这将列出例程输入/输出参数。