1

可能重复:
如何从 SQL Server 中的存储过程中检索参数列表

我正在使用 Massive 创建一个通用的存储过程执行器。基本上,我有一个函数,它采用过程名称和可变数量的参数。然后,我盲目地尝试使用传递的参数执行该存储过程并返回结果或处理错误。

我的问题是:有没有办法让我在调用存储过程之前确定存储过程需要哪些参数?

4

1 回答 1

5

尝试这个:

SELECT 
    ProcedureName = pr.Name,
    ParameterName = p.Name,
    Typename = ty.name 
FROM 
    sys.parameters p
INNER JOIN 
    sys.procedures pr ON p.object_id = pr.object_id
INNER JOIN 
    sys.types ty ON p.user_type_id = ty.user_type_id
WHERE   
    pr.Name = '.....'   -- put your stored procedure name here
ORDER BY 
    p.Name, p.parameter_id

这将检查系统目录视图并向您显示给定过程的参数及其类型。

系统目录视图包含附加信息(比如参数是否有默认值,如果有,它是什么;是否是 XML 参数等等) - 查看MSDN 文档了解所有详细信息

于 2012-11-13T17:30:54.287 回答