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


sp_sproc_columns (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric

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

Соглашения о синтаксисе Transact-SQL

Синтаксис

sp_sproc_columns
    [ [ @procedure_name = ] N'procedure_name' ]
    [ , [ @procedure_owner = ] N'procedure_owner' ]
    [ , [ @procedure_qualifier = ] N'procedure_qualifier' ]
    [ , [ @column_name = ] N'column_name' ]
    [ , [ @ODBCVer = ] ODBCVer ]
    [ , [ @fUsePattern = ] fUsePattern ]
[ ; ]

Аргументы

[ @procedure_name = ] N'procedure_name'

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

[ @procedure_owner = ] N'procedure_owner'

Имя владельца процедуры. @procedure_owner — nvarchar(384) с значением по умолчаниюNULL. Поиск совпадений по шаблону поддерживается. Если @procedure_owner не задано, применяются правила видимости процедуры по умолчанию базовой системы управления базами данных (СУБД).

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

[ @procedure_qualifier = ] N'procedure_qualifier'

Имя квалификатора процедуры. @procedure_qualifier — sysname с значением по умолчаниюNULL. Различные продукты СУБД поддерживают трехкомпонентное именование таблиц (<qualifier>.<owner>.<name>). В SQL Server этот параметр представляет имя базы данных. В некоторых СУБД он представляет имя сервера в среде базы данных, где находится таблица.

[ @column_name = ] N'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 для ODBC SQLProcedureColumns версии 3.0.

[ @fUsePattern = ] fUsePattern

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

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

Нет.

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

Имя столбца Тип данных Description
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_INPUT
2 = SQL_PARAM_TYPE_OUTPUT
3 = SQL_RESULT_COL
4 = SQL_PARAM_OUTPUT
5 = SQL_RETURN_VALUE
DATA_TYPE smallint Целочисленный код для типа данных ODBC. Если этот тип данных не может быть сопоставлен с типом ISO, значение равно NULL. Имя собственного типа данных возвращается в столбце TYPE_NAME .
TYPE_NAME sysname Строковое представление типа данных. Это значение — имя типа данных, представленное базовыми СУБД.
PRECISION int Количество значащих цифр. Возвращаемое значение столбца PRECISION находится в базе 10.
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, за исключением типов данных даты и времени и интервала ISO. Этот столбец всегда возвращает значение .
SQL_DATETIME_SUB smallint Вложенный код интервала SQL_DATA_TYPE ISO даты и времени, если значение равно SQL_DATETIME илиSQL_INTERVAL. Для типов данных, отличных от даты и интервала ISO, это полеNULL.
CHAR_OCTET_LENGTH int Максимальная длина в байтах столбца символьного или двоичного типа данных. Для всех других типов данных этот столбец возвращает 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_OWNERPROCEDURE_NAMEи порядок PROCEDURE_QUALIFIERотображения параметров в определении процедуры.

Разрешения

Требуется SELECT разрешение на схему.