sp_columns_ex (Transact-SQL)

Изменения: 17 июля 2006 г.

Возвращает сведения о столбцах для указанных таблиц связанного сервера по одной строке на столбец. 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 см. в спецификации SQLColumns ODBC.

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

Нет

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

Имя столбца Тип данных Описание

TABLE_CAT

sysname

Имя квалификатора таблицы или представления. Некоторые СУБД поддерживают трехкомпонентные имена таблиц (qualifier.owner.name). В SQL Server 2005 этот столбец представляет имя базы данных. В некоторых системах он представляет имя сервера из окружения базы данных таблицы. Это поле может иметь значение 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 Server 2005 отличается от SQL Server 2000 способом расшифровки и хранения выражений SQL в метаданных каталога. Семантика расшифрованных выражений соответствует исходному тексту, однако правильность синтаксиса не гарантируется. Например, пробельные символы удаляются из расшифрованного выражения. Дополнительные сведения см. в разделе Изменения в работе функций компонента Database Engine в SQL Server 2005.

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, используемый расширенными хранимыми процедурами. Дополнительные сведения см. в разделе Типы данных (компонент Database Engine).

Дополнительные сведения см. в документации по 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 на схему.

Примеры

В следующем примере возвращается тип данных для столбца Title в таблице HumanResources.Employee в базе данных AdventureWorks на связанном сервере Seattle1.

EXEC sp_columns_ex 'Seattle1', 
   'Employee', 
   'HumanResources', 
   'AdventureWorks', 
   'Title';

См. также

Справочник

sp_catalogs (Transact-SQL)
sp_foreignkeys (Transact-SQL)
sp_indexes (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_primarykeys (Transact-SQL)
sp_tables_ex (Transact-SQL)
sp_table_privileges (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Новое содержимое
  • В столбце COLUMN_DEF добавлены сведения о том, как выражения SQL хранятся в SQL Server 2005.