sp_sproc_columns (Transact-SQL)

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_sproc_columns [[@procedure_name = ] 'name'] 
    [ , [@procedure_owner = ] 'owner'] 
    [ , [@procedure_qualifier = ] 'qualifier'] 
    [ , [@column_name = ] 'column_name']
    [ , [@ODBCVer = ] 'ODBCVer']
    [ , [@fUsePattern = ] 'fUsePattern']

Аргументы

  • [ @procedure_name = ] 'name'
    Имя процедуры, используемой для возвращения сведений о каталоге. Аргумент name имеет тип nvarchar(390) и значение по умолчанию %, что означает все таблицы в текущей базе данных. Поиск совпадений по шаблону поддерживается.

  • [ @procedure_name = ] 'owner'
    Имя владельца процедуры. Аргумент owner имеет тип nvarchar(384) и значение по умолчанию NULL. Поиск совпадений по шаблону поддерживается. Если аргумент owner не определен, применяются правила видимости процедуры по умолчанию из базовой СУБД.

    Если текущий пользователь является владельцем процедуры с указанным именем, возвращаются сведения о процедуре. Если аргумент owner не задан и текущий пользователь не является владельцем процедуры с указанным именем, процедура sp_sproc_columns ищет процедуру с указанным именем, владельцем которой является владелец базы данных. Если процедура существует, возвращаются сведения о ее столбцах.

  • [ @procedure_qualifier =] 'qualifier'
    Это имя квалификатора процедуры. Аргумент qualifier имеет тип sysname и значение по умолчанию NULL. Некоторые СУБД поддерживают трехкомпонентные имена таблиц (qualifier.owner.name). В SQL Server этот аргумент представляет имя базы данных. В некоторых СУБД он представляет имя сервера в среде базы данных, где находится таблица.

  • [ @column_name =] 'column_name'
    Один столбец, используемый, только если необходимо получить только один столбец сведений о каталоге. Аргумент column_name имеет тип nvarchar(384) и значение по умолчанию NULL. Если аргумент column_name не указан, возвращаются все столбцы. Поиск совпадений по шаблону поддерживается. Для максимальной совместимости клиент шлюза должен использовать только согласование установленного образца ISO (символы-шаблоны % и _).

  • [ @ODBCVer =] 'ODBCVer'
    Версия используемого ODBC. Аргумент ODBCVer имеет тип int и значение по умолчанию 2, что указывает на то, что имеется ODBC версии 2.0. Дополнительные сведения о различиях между ODBC версии 2.0 и ODBC версии 3.0 см. в спецификации ODBC SQLProcedureColumns версии 3.0.

  • [ @fUsePattern =] 'fUsePattern'
    Определяет, следует ли рассматривать подчеркивание (_), процент (%) и скобку ([ ]) как символы-шаблоны. Допустимые значения: 0 (сопоставление с шаблоном отключено) и 1 (сопоставление с шаблоном включено). Аргумент fUsePattern имеет тип bit и значение по умолчанию 1.

Значения кодов возврата

Нет

Результирующие наборы

Имя столбца

Тип данных

Описание

PROCEDURE_QUALIFIER

sysname

Имя квалификатора процедуры. Этот столбец не может принимать значение NULL.

PROCEDURE_OWNER

sysname

Имя владельца процедуры. Этот столбец всегда возвращает значение.

PROCEDURE_NAME

nvarchar(134)

Имя процедуры. Этот столбец всегда возвращает значение.

COLUMN_NAME

sysname

Возвращается имя всех столбцов TABLE_NAME. Этот столбец всегда возвращает значение.

COLUMN_TYPE

smallint

Это поле всегда возвращает значение:

0 = SQL_PARAM_TYPE_UNKNOWN

1 = SQL_PARAM_TYPE_UNKNOWN

2 = SQL_PARAM_TYPE_UNKNOWN

3 = SQL_RESULT_COL

4 = SQL_PARAM_TYPE_UNKNOWN

5 = SQL_RETURN_VALUE

DATA_TYPE

smallint

Целочисленный код для типа данных ODBC. Если этот тип данных нельзя сопоставить с типом ISO, то значением будет NULL. Имя собственного типа данных возвращается в столбце TYPE_NAME.

TYPE_NAME

sysname

Строковое представление типа данных. Это имя типа данных, как представлено соответствующей СУБД.

PRECISION

int

Количество значащих цифр. Возвращаемое значение столбца PRECISION основано на десятичной системе счисления.

LENGTH

int

Размер передаваемых данных.

SCALE

smallint

Количество цифр справа от десятичного знака.

RADIX

smallint

Основа для численных типов.

NULLABLE

smallint

Определяет возможность принимать значения NULL.

1 = Может быть создан тип данных, допускающий значения NULL.

0 = Значения NULL недопустимы.

REMARKS

varchar(254)

Описание столбца процедуры. SQL Server не возвращает значение для этого столбца.

COLUMN_DEF

nvarchar(4000)

Значение столбца по умолчанию.

SQL_DATA_TYPE

smallint

Значение типа данных SQL, как оно выглядит в поле TYPE дескриптора. Этот столбец эквивалентен столбцу DATA_TYPE, за исключением типа данных datetime и типа данных ISO interval. Этот столбец всегда возвращает значение.

SQL_DATETIME_SUB

smallint

Дополнительный код datetime ISO interval, если значение SQL_DATA_TYPE равно SQL_DATETIME или SQL_INTERVAL. Для типов данных, отличных от datetime и ISO interval, это поле имеет значение NULL.

CHAR_OCTET_LENGTH

int

Максимальная длина, в байтах, столбца с типом данных character или binary. Для всех остальных типов данных этот столбец возвращает NULL.

ORDINAL_POSITION

int

Порядковый номер столбца в таблице. Первый столбец в таблице — 1. Этот столбец всегда возвращает значение.

Свойство IS_NULLABLE

varchar(254)

Возможность столбца таблицы возвращать значение NULL. Для определения возможности возвращать NULL используются правила ISO. СУБД, совместимая с ISO, не может возвращать пустую строку.

Отображает YES, если столбец может включать значения NULL, и NO, если столбец не может содержать значения NULL.

Если возможность возвращать значение NULL неизвестна, этот столбец возвращает строку нулевой длины.

Значение, возвращенное для данного столбца, отличается от значения, возвращенного для столбца со свойством NULLABLE.

SS_DATA_TYPE

tinyint

SQL Server тип данных используется для расширенных хранимых процедур. Дополнительные сведения см. в разделе Типы данных (Transact-SQL).

Замечания

Процедура sp_sproc_columns эквивалентна SQLProcedureColumns в ODBC. Возвращаемые результаты упорядочиваются PROCEDURE_QUALIFIER, PROCEDURE_OWNER, PROCEDURE_NAME и порядком, в котором эти параметры появляются в определении процедуры.

Разрешения

Необходимо разрешение SELECT для схемы.