通过查询获取SQL存储过程输出参数

时间:2018-06-10 22:54:01

标签: sql sql-server

这里我有一个sql脚本,它检索所有存储过程及其参数。

Tools > Preferences > Keyboard shortcuts

我想要的是能够以这种方式获取存储过程输出参数。

如果有人可以将我指向select * from sys.parameters inner join sys.procedures on parameters.object_id = procedures.object_id inner join sys.types on parameters.system_type_id = types.system_type_id and parameters.user_type_id = types.user_type_id --where procedures.name = 'STORED_PROC_NAME' 目录视图中我可以找到此信息的位置,我们将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

is_output中的sys.parameters列是1,当它是输出参数时。

is_output     bit     1 = Parameter is OUTPUT or RETURN; otherwise, 0.
     

来自:https://docs.microsoft.com/en-us/sql/relational-databases/system-catalog-views/sys-parameters-transact-sql?view=sql-server-2017

因此请将您的查询更改为:

select *
       from sys.parameters 
            inner join sys.procedures
                       on parameters.object_id = procedures.object_id 
            inner join sys.types
                       on parameters.system_type_id = types.system_type_id
                       and parameters.user_type_id = types.user_type_id
       where parameters.is_output = 1;