可能重复:
How can I retrieve a list of parameters from a stored procedure in SQL Server
我正在使用Massive来创建通用存储过程执行程序。基本上,我有一个函数,它采用过程的名称和可变数量的参数。然后,我盲目地尝试使用传递的参数执行该存储过程,并返回结果或处理错误。
我的问题是:在调用之前,我有办法确定存储过程所期望的参数吗?
答案 0 :(得分: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 documentation for all details!