我想通过存储过程检索数据库中的所有存储过程。
我使用以下查询创建了一个新的存储过程:
select SPECIFIC_NAME
from information_schema.routines
where routine_type = 'PROCEDURE'
现在我也想知道这些存储过程所具有的输入和输出参数,但是我找不到如何找到这些信息的信息。
您可以使用此查询来获取存储过程中的所有参数
SELECT
SCHEMA_NAME(SCHEMA_ID) AS [Schema],
SO.name AS [Object Name],
SO.Type_Desc AS [Object Type (UDF/SP)],
P.parameter_id AS [Parameter ID],
P.name AS [Parameter Name],
TYPE_NAME(P.user_type_id) AS [Parameter Datatype],
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
WHERE TYPE IN ('P', 'FN'))
ORDER BY
[Schema], SO.name, P.parameter_id
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句