#sql-server #tsql #stored-procedures
#sql-server #tsql #хранимые процедуры
Вопрос:
Я хочу повторно просмотреть с помощью хранимой процедуры все хранимые процедуры в моей базе данных.
Я создал новую хранимую процедуру с помощью этого запроса:
select SPECIFIC_NAME
from information_schema.routines
where routine_type = 'PROCEDURE'
Теперь я также хочу знать входные и выходные параметры, которые есть у этих хранимых процедур, но я не нахожу, как я могу найти эту информацию
Ответ №1:
Вы можете использовать этот запрос для получения всех параметров в хранимых процедурах
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