sp_stored_procedures (Transact-SQL)
Возвращает список всех хранимых процедур в текущем окружении.
Синтаксические обозначения в Transact-SQL
Синтаксис
sp_stored_procedures [ [ @sp_name = ] 'name' ]
[ , [ @sp_owner = ] 'schema']
[ , [ @sp_qualifier = ] 'qualifier' ]
[ , [@fUsePattern = ] 'fUsePattern' ]
Аргументы
[ @sp_name = ] 'name'
Название процедуры, используемой для возврата сведений о каталоге. Аргумент name имеет тип nvarchar(390) и значение по умолчанию NULL. Поиск совпадений по шаблону поддерживается.[ @sp_owner = ] 'schema'
Имя схемы, которой принадлежит процедура. Аргумент schema имеет тип nvarchar(384) и значение по умолчанию NULL. Поиск совпадений по шаблону поддерживается. Если параметр owner не указан, применяются правила видимости процедуры по умолчанию из базовой СУБД.Если текущая схема содержит процедуру с указанным именем, в SQL Server возвращается эта процедура. Если не указано уточненное имя хранимой процедуры, компонент Компонент Database Engine производит поиск процедуры в следующем порядке:
схема sys текущей базы данных;
схема участника по умолчанию, если она выполняется в пакете или в динамическом SQL; или, если неуточненное имя процедуры появляется внутри определения другой процедуры, далее происходит поиск по схеме, содержащей эту процедуру.
Схема dbo в текущей базе данных.
[ @qualifier = ] 'квалификатор'
Имя квалификатора процедуры. Аргумент qualifier имеет тип sysname и значение по умолчанию NULL. Различные продукты СУБД поддерживают трехкомпонентные имена таблиц в форме (qualifier**.schema.**name. В SQL Server аргумент qualifier представляет имя базы данных. В некоторых СУБД он представляет имя сервера в среде базы данных, в которой находится таблица.[ @fUsePattern = ] 'fUsePattern'
Определяет, должны ли символы подчеркивания (_), процента (%) и квадратных скобок ([ ]) рассматриваться как подстановочные. Аргумент fUsePattern имеет тип bit и значение по умолчанию 1.0 = сопоставление по шаблону отключено.
1 = сопоставление по шаблону включено.
Значения кода возврата
Отсутствует
Результирующие наборы
Имя столбца |
Тип данных |
Описание |
---|---|---|
PROCEDURE_QUALIFIER |
sysname |
Имя квалификатора процедуры. Этот столбец может принимать значение NULL. |
PROCEDURE_OWNER |
sysname |
Имя владельца процедуры. Этот столбец всегда возвращает значение. |
PROCEDURE_NAME |
nvarchar(134) |
Имя процедуры. Этот столбец всегда возвращает значение. |
NUM_INPUT_PARAMS |
int |
Зарезервировано для последующего использования. |
NUM_OUTPUT_PARAMS |
int |
Зарезервировано для последующего использования. |
NUM_RESULT_SETS |
int |
Зарезервировано для последующего использования. |
REMARKS |
varchar(254) |
Описание процедуры. SQL Server не возвращает значение для этого столбца. |
PROCEDURE_TYPE |
smallint |
Тип процедуры. SQL Server всегда возвращает 2.0. Значение может быть одним из следующих. 0 = SQL_PT_UNKNOWN; 1 = SQL_PT_PROCEDURE; 2 = SQL_PT_FUNCTION. |
Замечания
Для максимальной совместимости клиент шлюза должен принимать только сопоставление шаблонов стандарта SQL-92 (символы-шаблоны «%» и «_»).
Сведения о разрешении на выполнение определенной хранимой процедуры для текущего пользователя не обязательно проверяются, поэтому доступ не гарантируется. Обратите внимание, что используются только трехкомпонентные имена. Это означает, что возвращаются только локальные хранимые процедуры, а не удаленные хранимые процедуры (которые используют четырехкомпонентные имена), выполняемые на SQL Server. Если в результирующем наборе, возвращаемом процедурой sp_server_info, значение серверного атрибута ACCESSIBLE_SPROC равно Y, то возвращаются только хранимые процедуры, которые могут быть выполнены текущим пользователем.
Хранимая процедура sp_stored_procedures эквивалентна ODBC-функции SQLProcedures. Возвращенные результаты сортируются по столбцам PROCEDURE_QUALIFIER, PROCEDURE_OWNER и PROCEDURE_NAME.
Разрешения
Необходимо разрешение SELECT для схемы.
Примеры
А.Возвращение всех хранимых процедур в текущей базе данных
В следующем примере возвращаются все хранимые процедуры в базе данных AdventureWorks.
USE AdventureWorks2012;
GO
EXECUTE sp_stored_procedures;
Б.Возвращение одной хранимой процедуры
В следующем примере возвращается результирующий набор для хранимой процедуры uspLogError.
USE AdventureWorks2012;
GO
EXECUTE sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2012', 1;