Я пытаюсь получить список хранимых процедур в t-sql. Я использую строку:
exec sys.sp_stored_procedures;
Я хотел бы отфильтровать результаты назад, хотя, таким образом, я только получаю пользователя, создал хранимые процедуры. Я хотел бы отфильтровать sp_ *, dt_ *, fn_ *, xp_* и все остальное, что является системной хранимой процедурой и никаким интересом для меня. Как я могу управлять возвращенным набором результатов?
Используя экспресс SQL-сервера 2008 года.
Решенный! Вот то, что я использовал:
SELECT name FROM sys.procedures
WHERE [type] = 'P'
AND name NOT LIKE 'sp_%'
AND name NOT LIKE 'dt_%'
ORDER BY name ASC;
Вместо использования хранимой процедуры вы можете использовать следующие представления:
Select * From sys.procedures
Where [Type] = 'P'
или
Select * From Information_Schema.Routines
Выберите элементы из таблицы sysobjects и используйте предложение where type = 'P'
для хранимых процедур и выполните фильтрацию по name
.