Поиск хранимых процедур по названию в SQL Server Studio
Быстрый ответ
Для того чтобы найти хранимую процедуру по её имени 'YourProcedureName'
, выполните следующий запрос:
SELECT * FROM sys.procedures WHERE name = 'YourProcedureName';
Вместо 'YourProcedureName'
укажите имя интересующей вас процедуры. Информация будет предоставлена из системного каталога sys.procedures текущей базы данных.
Поиск процедур по части имени
Если вы ищете процедуры по фрагменту имени, воспользуйтесь оператором LIKE
и символами подстановки %
:
SELECT * FROM sys.procedures WHERE name LIKE '%PartialName%';
Вместо %PartialName%
укажите нужную вам часть имени. Символ %
заменит любое количество символов.
Поиск и фильтрация в Object Explorer SQL Server Management Studio
В SQL Server Management Studio (SSMS) можно вызвать окно Object Explorer Details, нажав клавишу <kbd>F7</kbd>. После выбора опции "Фильтры", введите поисковый запрос в соответствующее поле.
Обращение к коду хранимых процедур
Рассмотрим поиск процедур по ключевому слову, встречающемуся в коде процедуры. Используйте таблицу syscomments
:
SELECT OBJECT_NAME(id)
FROM syscomments
WHERE text LIKE '%Keyword%';
Этот запрос выведет имена процедур, содержащих в своем коде указанное вами слово.
Соблюдение стандартов ANSI
В окружении, соответствующем стандартам ANSI, применяется представление INFORMATION_SCHEMA.ROUTINES
. Это обеспечивает контроль за соблюдением стандартов:
SELECT ROUTINE_NAME
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
AND ROUTINE_NAME LIKE '%PartialName%';
Такой запрос работает в любом SQL-окружении, хотя и может быть не столь быстрым.
Дополнение dbForge: всегда на шаг впереди!
Расширение dbForge Search для SSMS предоставляет мощные и удобные функции поиска по базе данных.
Визуализация
Можно визуализировать базу данных как библиотеку, а хранимые процедуры — как книги на полках. Чтобы найти процедуру, обратитесь к "библиотекарю" следующим запросом:
SELECT ROUTINE_NAME, ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
AND ROUTINE_NAME = 'YourProcedureName';
"Библиотекарь" отыщет книгу с указанным названием и подаст её вам.
Синхронизация Object Explorer: оптимизация процесса поиска
С помощью Object Explorer в SSMS вы можете синхронизировать рабочий контекст с выбранной базой данных, что обеспечивает более точный поиск.
Получение имени процедуры и её типа
Следующий запрос вернет вам имя процедуры и её тип:
SELECT SPECIFIC_NAME, ROUTINE_TYPE
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_NAME LIKE '%PartialName%';
Это помощник в различении функций и процедур, позволит также упорядочить результаты.
Фильтрация: секрет удобной навигации
Функция Фильтры в окне Object Explorer Details значительно облегчает навигацию среди процедур благодаря возможности быстрого применения критериев поиска.
Полезные материалы
- sys.procedures (Transact-SQL) – SQL Server | Microsoft Learn — документация Microsoft по работе с системными процедурами SQL Server.
- Newest 'stored-procedures' Questions – Stack Overflow – самые свежие вопросы по теме хранимых процедур на Stack Overflow.
- Usage of IsolatedStorage Made Easy – CodeProject – статья о преимуществах использования изолированного хранения.
- SQL Stored Procedures – W3Schools — обучающий курс по созданию и использованию хранимых процедур на SQL Server от W3Schools.