SQL Server 2005中如何仅查看存储过程的INPUT与OUTPUT参数?
在SQL Server 2005中查看存储过程的INPUT/OUTPUT参数列表
相信你肯定遇到过这种困扰:用sp_help查询存储过程参数时,只能看到参数名称和数据类型,没法直接区分它是INPUT还是OUTPUT类型;而sp_helptext虽然能返回完整的存储过程代码,但要从中定位参数定义又太繁琐。
别担心,我们可以直接查询SQL Server的系统视图来精准获取参数的输入输出信息,不用绕弯路。试试下面这个SQL脚本:
SELECT p.name AS ParameterName, t.name AS ParameterType, CASE p.is_output WHEN 1 THEN 'OUTPUT' ELSE 'INPUT' END AS ParameterDirection FROM sys.procedures pr INNER JOIN sys.parameters p ON pr.object_id = p.object_id INNER JOIN sys.types t ON p.system_type_id = t.system_type_id WHERE pr.name = 'YourStoredProcName' -- 替换成你的存储过程名称 ORDER BY p.parameter_id;
脚本说明:
sys.procedures:存储当前数据库中所有存储过程的基本信息,我们通过它定位目标存储过程。sys.parameters:存储存储过程的参数细节,其中is_output字段是关键——值为1表示该参数是OUTPUT类型,0则是INPUT类型。sys.types:用来获取参数对应的数据类型名称,让结果更直观。
如果想要查看当前数据库所有存储过程的参数信息,只需要去掉WHERE pr.name = 'YourStoredProcName'这一行即可。
内容的提问来源于stack exchange,提问作者SQLServerNewBie2
相关产品推荐
相关产品推荐

