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