sp_columns_ex (Transact-SQL)
Область применения: SQL Server
Возвращает сведения о столбцах для указанных таблиц связанного сервера по одной строке на столбец. sp_columns_ex
возвращает сведения о столбце только для определенного столбца, если указан @column_name .
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_columns_ex
[ @table_server = ] N'table_server'
[ , [ @table_name = ] N'table_name' ]
[ , [ @table_schema = ] N'table_schema' ]
[ , [ @table_catalog = ] N'table_catalog' ]
[ , [ @column_name = ] N'column_name' ]
[ , [ @ODBCVer = ] ODBCVer ]
[ ; ]
Аргументы
[ @table_server = ] N'table_server'
Имя связанного сервера, для которого возвращаются сведения о столбце. @table_server — sysname без значения по умолчанию.
[ @table_name = ] N'table_name'
Имя таблицы, для которой возвращаются сведения о столбце. @table_name — sysname с значением по умолчаниюNULL
.
[ @table_schema = ] N'table_schema'
Имя схемы таблицы, для которой возвращаются сведения о столбце. @table_schema имеет имя sysname с значением по умолчаниюNULL
.
[ @table_catalog = ] N'table_catalog'
Имя каталога таблицы, для которой возвращаются сведения о столбце. @table_catalog — sysname с значением по умолчаниюNULL
.
[ @column_name = ] N'column_name'
Имя столбца базы данных, для которого необходимо предоставить сведения. @column_name — sysname с значением по умолчаниюNULL
.
[ @ODBCVer = ] ODBCVer
Используемая версия ODBC. @ODBCVer имеет значение int, с значением по умолчанию2
. Это значение соответствует ODBC версии 2. Допустимые значения — 2
или 3
. Сведения о различиях в поведении между версиями 2 и 3 см. в спецификации ODBC SQLColumns
.
Значения кода возврата
Нет.
Результирующий набор
Имя столбца | Тип данных | Description |
---|---|---|
TABLE_CAT |
sysname | Имя квалификатора таблицы или представления. Различные продукты СУБД поддерживают трехкомпонентное именование таблиц (<qualifier>.<owner>.<name> ). В SQL Server этот столбец представляет имя базы данных. В некоторых СУБД он представляет имя сервера в среде базы данных, где находится таблица. Это поле может быть NULL . |
TABLE_SCHEM |
sysname | Имя владельца таблицы или представления. В SQL Server этот столбец представляет имя пользователя базы данных, создавшего таблицу. Это поле всегда возвращает значение. |
TABLE_NAME |
sysname | Имя таблицы или представления. Это поле всегда возвращает значение. |
COLUMN_NAME |
sysname | Имя столбца для каждого столбца возвращаемого TABLE_NAME столбца. Это поле всегда возвращает значение. |
DATA_TYPE |
smallint | Значение int , соответствующее индикаторам типа ODBC. Если это тип данных, который не может быть сопоставлен с типом ODBC, это значение равно NULL . Имя собственного типа данных возвращается в столбце TYPE_NAME . |
TYPE_NAME |
varchar(13) | Тип данных в символьном представлении. Название типа предоставляется базовой СУБД. |
COLUMN_SIZE |
int | Количество значащих цифр. Возвращаемое значение столбца PRECISION находится в базе 10. |
BUFFER_LENGTH |
int | Размер буфера при передаче данных. |
DECIMAL_DIGITS |
smallint | Число цифр справа от десятичной запятой. |
NUM_PREC_RADIX |
smallint | Основание системы счисления для числовых типов данных. |
NULLABLE |
smallint | Указывает возможность содержать значение NULL.1 = NULL возможно.0 = NOT NULL . |
REMARKS |
varchar(254) | Это поле всегда возвращается NULL . |
COLUMN_DEF |
varchar(254) | Значение столбца по умолчанию. |
SQL_DATA_TYPE |
smallint | Значение типа данных SQL, как оно отображается в TYPE поле дескриптора. Этот столбец совпадает с столбцомDATA_TYPE , за исключением типов данных даты и времени и интервала SQL-92. Этот столбец всегда возвращает значение . |
SQL_DATETIME_SUB |
smallint | Код подтипа для типов данных datetime и SQL-92 интервала . Для других типов данных этот столбец возвращается NULL . |
CHAR_OCTET_LENGTH |
int | Максимальная длина столбца символьного или целочисленного типа в байтах. Для всех других типов данных этот столбец возвращается 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, используемый расширенными хранимыми процедурами. |
Дополнительные сведения см. в разделе "Обзор ODBC".
Замечания
sp_columns_ex
выполняется путем запросаCOLUMNS
набораIDBSchemaRowset
строк интерфейса поставщика OLE DB, соответствующего @table_server. Параметры @table_name, @table_schema, @table_catalog и @column_name передаются в этот интерфейс, чтобы ограничить возвращаемые строки.sp_columns_ex
возвращает пустой результирующий набор, если поставщик OLE DB указанного связанногоIDBSchemaRowset
сервера не поддерживаетCOLUMNS
набор строк интерфейса.sp_columns_ex
соответствует требованиям для идентификаторов с разделителями. Дополнительные сведения см. в разделе "Идентификаторы базы данных".
Разрешения
Требуется SELECT
разрешение на схему.
Примеры
В следующем примере возвращается тип данных для столбца JobTitle
в таблице HumanResources.Employee
в базе данных AdventureWorks2022
на связанном сервере Seattle1
.
EXEC sp_columns_ex 'Seattle1',
'Employee',
'HumanResources',
'AdventureWorks2022',
'JobTitle';