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

Я пытаюсь получить список хранимых процедур в 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;

Ответы [ 3 ]

19 голосов
/ 26 марта 2010

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

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

или

Select * From Information_Schema.Routines
2 голосов
/ 26 марта 2010

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

1 голос
/ 25 февраля 2014
SELECT [Routine_Name]
FROM   [INFORMATION_SCHEMA].[ROUTINES]
WHERE  [ROUTINE_TYPE] = 'PROCEDURE'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...