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_owner =] '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 для схемы.