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 не определен, применяются правила видимости процедуры по умолчанию из базовой СУБД.В SQL Server 2005, если текущий пользователь является владельцем процедуры с указанным именем, возвращаются сведения о процедуре. Если аргумент 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 не указан, возвращаются все столбцы. Поиск совпадений по шаблону поддерживается. Для максимальной совместимости клиент шлюза должен использовать только согласование установленного образца SQL-92 (символы-шаблоны % и _).
- [ @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. Если тип данных не может быть сопоставлен с типом SQL-92, значение равно 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 и SQL-92 interval. Этот столбец всегда возвращает значение. |
SQL_DATETIME_SUB |
smallint |
Для типа datetime по стандарту SQL-92 дополнительный код интервала interval, если параметр SQL_DATA_TYPE имеет значение SQL_DATETIME или SQL_INTERVAL. Для типов данных, отличных от datetime и SQL-92 interval, значение этого поля равно NULL. |
CHAR_OCTET_LENGTH |
int |
Максимальная длина, в байтах, столбца с типом данных character или binary. Для всех остальных типов данных этот столбец возвращает NULL. |
ORDINAL_POSITION |
int |
Порядковый номер столбца в таблице. Первый столбец в таблице — 1. Этот столбец всегда возвращает значение. |
Свойство IS_NULLABLE |
varchar(254) |
Возможность столбца таблицы возвращать значение NULL. Для определения возможности возвращать NULL используются правила ISO. Соответствующий требованиям ISO SQL-совместимая СУБД не может возвращать пустую строку. Отображает 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 для схемы.
См. также
Справочник
Хранимые процедуры каталога (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)