How to get stored procedure parameters details?

前端 未结 11 1221
名媛妹妹
名媛妹妹 2020-12-08 01:58

Where can I find information about stored procedure parameters? In my situation I need to know only the input parameters of given store procedure.

In the sys.o

11条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-08 02:52

    An extension of Raj's answer above

    ;WITH CTE
     AS (SELECT OBJECT_NAME(OBJECT_ID) AS  sql_module_name
               ,CASE
                    WHEN OBJECTPROPERTY(OBJECT_ID,'IsProcedure') = 1 THEN 'Stored Procedure'
                    WHEN OBJECTPROPERTY(OBJECT_ID,'IsScalarFunction') = 1 THEN 'Scalar Function'
                    WHEN OBJECTPROPERTY(OBJECT_ID,'IsTableFunction') = 1 THEN 'Table Function'
                END AS                     sql_module_type
               ,parameter_id AS            parameter_order
               ,name AS                    parameter_name
               ,is_nullable AS             parameter_is_nullable_flag
               ,is_output AS               parameter_is_output_flag
               ,TYPE_NAME(user_type_id) AS parameter_type
               ,max_length AS              parameter_length
               ,CASE
                    WHEN TYPE_NAME(system_type_id) = 'uniqueidentifier' THEN precision
                    ELSE OdbcPrec
                         (system_type_id,max_length,precision
                         )
                END AS                     parameter_precision
               ,OdbcScale
                (system_type_id,scale
                ) AS                       parameter_scale
         FROM   sys.parameters)
     SELECT DENSE_RANK() OVER(
            ORDER BY sql_module_type
                    ,sql_module_name ASC) AS group_id
           ,sql_module_name
           ,sql_module_type
           ,parameter_order
           ,parameter_name
           ,parameter_is_nullable_flag
           ,parameter_is_output_flag
           ,parameter_type
           ,parameter_length
           ,parameter_precision
           ,parameter_scale
     FROM   CTE
     ORDER BY sql_module_type
             ,sql_module_name
             ,parameter_order;
    

提交回复
热议问题