Получение отфильтрованного списка хранимых процедур с использованием t-sql

Я пытаюсь получить список хранимых процедур в t-sql. Я использую строку:

exec sys.sp_stored_procedures;

Я хотел бы отфильтровать результаты, хотя, поэтому я получаю только созданные пользователем хранимые процедуры. Я хотел бы отфильтровать sp_ *, dt_ *, fn_ *, xp_ * и все остальное, что является хранимой в системе процедурой и не интересует меня. Как я могу манипулировать возвращаемым набором результатов?

Использование Sql Server 2008 express.

Решено! Вот что я использовал:

SELECT name FROM sys.procedures
WHERE [type] = 'P'
AND name NOT LIKE 'sp_%'
AND name NOT LIKE 'dt_%'
ORDER BY name ASC;

Ответы

Ответ 1

Вместо использования хранимой процедуры вы можете использовать следующие виды:

Select * From sys.procedures
Where [Type] = 'P'

или

Select * From Information_Schema.Routines

Ответ 2

Выберите элементы из sysobjects table и используйте предложение where type = 'P' для хранимых процедур и фильтр на name.

Ответ 3

SELECT [Routine_Name]
FROM   [INFORMATION_SCHEMA].[ROUTINES]
WHERE  [ROUTINE_TYPE] = 'PROCEDURE'