Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Возвращает список всех хранимых процедур в текущем окружении.
Соглашения о синтаксисе 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_UNKNOWN1 = SQL_PT_PROCEDURE2 = SQL_PT_FUNCTION |
Замечания
Для максимальной совместимости клиент шлюза должен предполагать сопоставление только стандартных шаблонов SQL, а именно символы подстановочного знака () и% символов подчеркивания (_).
Сведения о разрешении на выполнение доступа к определенной хранимой процедуре для текущего пользователя не обязательно проверяются; Поэтому доступ не гарантируется. Используется только три части именования. Это означает, что возвращаются только локальные хранимые процедуры, а не удаленные хранимые процедуры (которые требуют именования четырех частей), возвращаются при их выполнении в SQL Server. Если атрибут ACCESSIBLE_SPROC сервера имеет значение Y в результирующем наборе sp_server_info, возвращаются только хранимые процедуры, которые могут выполняться текущим пользователем.
sp_stored_procedures эквивалентен SQLProcedures в ODBC. Возвращаемые результаты упорядочены PROCEDURE_QUALIFIERпо , PROCEDURE_OWNERи PROCEDURE_NAME.
Разрешения
Требуется SELECT разрешение на схему.
Примеры
А. Возврат всех хранимых процедур в текущей базе данных
Следующий пример возвращает все сохранённые процедуры в базе данных AdventureWorks2025.
USE AdventureWorks2022;
GO
EXECUTE sp_stored_procedures;
B. Возврат одной хранимой процедуры
В следующем примере возвращается результирующий набор для хранимой процедуры uspLogError.
USE AdventureWorks2022;
GO
EXECUTE sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks2022', 1;