sp_stored_procedures (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure
Возвращает список всех хранимых процедур в текущем окружении.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_stored_procedures
[ [ @sp_name = ] N'sp_name' ]
[ , [ @sp_owner = ] N'sp_owner' ]
[ , [ @sp_qualifier = ] N'sp_qualifier' ]
[ , [ @fUsePattern = ] fUsePattern ]
[ ; ]
Аргументы
[ @sp_name = ] N'sp_name'
Имя процедуры, используемой для возврата сведений о каталоге. @sp_name — nvarchar(390) с значением по умолчаниюNULL
. Поиск совпадений по шаблону поддерживается.
[ @sp_owner = ] N'sp_owner'
Имя схемы, которой принадлежит процедура. @sp_owner — nvarchar(384) с значением по умолчаниюNULL
. Поиск совпадений по шаблону поддерживается. Если @sp_owner не задано, применяются правила видимости процедуры по умолчанию базовой системы управления базами данных (СУБД).
В SQL Server, если текущая схема содержит процедуру с указанным именем, возвращается эта процедура. Если указана неквалифицированная хранимая процедура, ядро СУБД выполняет поиск процедуры в следующем порядке:
Схема
sys
текущей базы данных.схема участника по умолчанию, если она выполняется в пакете или в динамическом SQL; или, если неуточненное имя процедуры появляется внутри определения другой процедуры, далее происходит поиск по схеме, содержащей эту процедуру.
Схема
dbo
в текущей базе данных.
[ @sp_qualifier = ] N'sp_qualifier'
Имя квалификатора процедуры. @sp_qualifier имеет имя sysname с значением по умолчаниюNULL
. Различные продукты СУБД поддерживают трехкомпонентное именование таблиц в форме <qualifier>.<schema>.<name>
. В SQL Server @sp_qualifier представляет имя базы данных. В некоторых СУБД он представляет имя сервера в среде базы данных, в которой находится таблица.
[ @fUsePattern = ] fUsePattern
Определяет, интерпретируются ли символы подчеркивания (_
), процент (%
) или квадратные скобки ([
и ]
) как подстановочные знаки. @fUsePattern бит с значением по умолчанию1
.
0
= сопоставление шаблонов отключено.1
= сопоставление шаблонов включено.
Значения кода возврата
Нет.
Результирующий набор
Имя столбца | Тип данных | Description |
---|---|---|
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, а именно символы подстановочного знака () и%
символов подчеркивания (_
).
Сведения о разрешении на выполнение доступа к определенной хранимой процедуре для текущего пользователя не обязательно проверяются; Поэтому доступ не гарантируется. Используется только три части именования. Это означает, что возвращаются только локальные хранимые процедуры, а не удаленные хранимые процедуры (которые требуют именования четырех частей), возвращаются при их выполнении в SQL Server. Если атрибут ACCESSIBLE_SPROC
сервера имеет значение Y в результирующем наборе sp_server_info
, возвращаются только хранимые процедуры, которые могут выполняться текущим пользователем.
sp_stored_procedures
эквивалентен SQLProcedures
в ODBC. Возвращаемые результаты упорядочены PROCEDURE_QUALIFIER
по , PROCEDURE_OWNER
и PROCEDURE_NAME
.
Разрешения
Требуется SELECT
разрешение на схему.
Примеры
А. Возврат всех хранимых процедур в текущей базе данных
В следующем примере возвращаются все хранимые процедуры в базе данных AdventureWorks2022.
USE AdventureWorks2022;
GO
EXEC sp_stored_procedures;
B. Возврат одной хранимой процедуры
В следующем примере возвращается результирующий набор для хранимой процедуры uspLogError
.
USE AdventureWorks2022;
GO
sp_stored_procedures N'uspLogError',
N'dbo',
N'AdventureWorks2022',
1;