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


sys.columns (Transact-SQL)

Возвращает строку для каждого столбца объекта, имеющего столбцы, например представления или таблицы. Далее следует список типов объектов, имеющих столбцы:

  • возвращающие табличное значение функции сборки (FT);

  • встроенные возвращающие табличное значение функции SQL (IF);

  • внутренние таблицы (IT);

  • системные таблицы (S);

  • возвращающие табличное значение функции SQL (TF);

  • пользовательские таблицы (U);

  • представления (V).

Имя столбца

Тип данных

Описание

object_id

int

Идентификатор объекта, которому принадлежит этот столбец.

name

sysname

Имя столбца. Уникально в рамках объекта.

column_id

int

Идентификатор столбца. Уникален в рамках объекта.

Идентификаторы столбцов могут не быть последовательными.

system_type_id

tinyint

Идентификатор системного типа столбца.

user_type_id

int

Идентификатор типа столбца, определенного пользователем.

Чтобы вернуть имя типа, создайте в этом столбце соединение с представлением каталога sys.types.

max_length

smallint

Максимальная длина столбца (в байтах).

-1 = тип данных столбца — varchar(max), nvarchar(max), varbinary(max) или xml.

Для столбцов типа text значение max_length должно быть равно 16 или равно значению аргумента «text in row», установленному процедурой sp_tableoption.

precision

tinyint

Точность чисел в столбце, если он является цифровым; в противном случае — 0.

scale

tinyint

Масштаб значений столбца в случае числового выражения; в противном случае — 0.

collation_name

sysname

Имя параметров сортировки столбца, если он является символьным; в противном случае — значение NULL.

is_nullable

bit

1 = ячейки в столбце могут принимать значения NULL.

is_ansi_padded

bit

1 = столбец использует поведение ANSI_PADDING ON, если принадлежит типам character, binary или variant.

0 = столбец не принадлежит типам character, binary или variant.

is_rowguidcol

bit

1 = столбец является объявленным ROWGUIDCOL.

is_identity.

bit

1 = столбец содержит значения identity.

is_computed

bit

1 = столбец является вычисляемым.

is_filestream

bit

1 — столбец является столбцом FILESTREAM.

is_replicated

bit

1 = столбец реплицируется.

is_non_sql_subscribed

bit

1 = у столбца есть подписчик, отличный от подписчика SQL Server.

is_merge_published

bit

1 = столбец публикуется слиянием.

is_dts_replicated

bit

1 = столбец реплицируется с использованием служб SSIS.

is_xml_document

bit

1 = содержимое является полным XML-документом.

0 = содержимое является фрагментом документа, или тип данных столбца не является xml.

xml_collection_id

int

Ненулевое значение, если тип данных столбца является xml, а XML типизирован. Значением будет идентификатор коллекции, содержащей подтвержденное пространство имен XML-схемы для столбца.

0 = нет коллекции XML-схемы.

default_object_id

int

Идентификатор объекта по умолчанию независит от того, является ли объект автономным объектом sys.sp_bindefault или встроенным ограничением DEFAULT уровня столбца. Столбец parent_object_id встроенного объекта «значение по умолчанию» уровня столбца представляет собой ссылку на саму таблицу.

0 = нет значения по умолчанию.

rule_object_id

int

Идентификатор изолированного правила, привязанного к столбцу с помощью процедуры sys.sp_bindrule.

0 = автономное правило отсутствует. Сведения об ограничениях инструкции CHECK на уровне столбцов см. в разделе sys.check_constraints (Transact-SQL).

is_sparse

bit

1 = столбец является разреженным. Дополнительные сведения см. в разделе Использование разреженных столбцов.

is_column_set

bit

1 = столбец является набором столбцов. Дополнительные сведения см. в разделе Использование разреженных столбцов.

Разрешения

В SQL Server 2005 и более поздних версиях видимость метаданных в представлениях каталога ограничивается защищаемыми объектами, которыми пользователь владеет или на которые ему были предоставлены разрешения. Дополнительные сведения см. в разделе Настройка видимости метаданных.