获取存储过程的参数数量

时间:2009-07-28 12:17:14

标签: mysql stored-procedures arguments

我想获得MySql中存储过程所需的参数数量。这可能吗?

我的第一个想法是尝试

SELECT * FROM information_schema.ROUTINES;

但据我所知,其中没有关于论据数量的信息。接下来尝试

SHOW PROCEDURE STATUS;

但这似乎只是返回第一个查询的子集。

我的目标是能够在PHP中“空填充”一个sproc调用,以避免像

这样的错误
"Incorrect number of arguments for PROCEDURE schema.table; expected nn, got mm

制作静态查找表当然可行,但肯定不是理想的。当然,可以解析返回的消息,更改查询并重试,但这似乎也不是很好。

提前致谢! /维克多

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式检索参数列表:

SELECT DISTINCT      名称,      param_list 从 mysql.proc的      WHERE db = DATABASE();

答案 1 :(得分:0)

SHOW CREATE PROCEDURE< procedure_name>;

http://dev.mysql.com/doc/refman/5.0/en/show-create-procedure.html