Поделиться через


sp_stored_procedures (Transact-SQL)

Изменения: 17 июля 2006 г.

Возвращает список всех хранимых процедур в текущем окружении.

Значок ссылки на разделСинтаксические обозначения в 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'
    Имя квалификатора процедуры. Аргумент 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 AdventureWorks;
GO
sp_stored_procedures;

Б. Возвращение одной хранимой процедуры

В следующем примере возвращается результирующий набор для хранимой процедуры uspLogError.

USE AdventureWorks;
GO
sp_stored_procedures N'uspLogError', N'dbo', N'AdventureWorks', 1;

См. также

Справочник

Хранимые процедуры каталога (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Новое содержимое
  • Дополнительные примеры.