【发布时间】:2019-07-18 23:07:53
【问题描述】:
我目前正在记录我们数据库中的所有存储过程和函数。我创建了代码来收集过程的名称和参数,但是是否可以检索有关返回哪些列(如果有)的信息?
我知道有一个系统程序可以返回此信息,但是这是针对单个程序的,因为我需要它用于所有程序。
SELECT SCHEMA_NAME(SCHEMA_ID) AS [Schema],
SO.name AS [ObjectName],
SO.Type_Desc AS [ObjectType (UDF/SP)],
P.parameter_id AS [ParameterID],
P.name AS [ParameterName],
TYPE_NAME(P.user_type_id) AS [ParameterDataType],
P.max_length AS [ParameterMaxBytes],
P.is_output AS [IsOutPutParameter]
FROM sys.objects AS SO
INNER JOIN sys.parameters AS P
ON SO.OBJECT_ID = P.OBJECT_ID
WHERE SO.OBJECT_ID IN ( SELECT OBJECT_ID
FROM sys.objects
)
ORDER BY [Schema], SO.name, P.parameter_id
GO
有谁知道这是否可行,如果可以,我该怎么做?
提前谢谢你
【问题讨论】:
标签: sql-server stored-procedures