INDEXKEY_PROPERTY (Transact-SQL)

Возвращает сведения о ключах индекса, Возвращает NULL для XML-индексов.

Важное примечаниеВажно!

В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте sys.index_columns (Transact-SQL).

Значок ссылки на раздел Синтаксические обозначения Transact-SQL

Синтаксис

INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )

Аргументы

  • object_ID
    Идентификатор таблицы или индексированного представления. Аргумент object_ID имеет тип int.

  • index_ID
    Идентификатор индекса. Аргумент index_ID имеет тип int

  • key_ID
    Позиция ключевого столбца индекса. Аргумент key_ID имеет тип int.

  • property
    Имя свойства, для которого будут возвращены сведения. property представляет собой строку символов и может быть одним из следующих значений.

    Значение

    Описание

    ColumnId

    Идентификатор столбца в положении key_ID индекса.

    IsDescending

    Порядок, в котором хранится индексированный столбец:

    1 = по убыванию; 0 = по возрастанию.

Типы возвращаемых данных

int

Исключения

Возвращает значение NULL в случае ошибки или если вызывающая сторона не имеет разрешений для просмотра объекта.

Пользователь может просматривать только метаданные защищаемых объектов, которыми он владеет или на которые пользователю были предоставлены разрешения. Это означает, что встроенные функции, создающие метаданные, такие как INDEXKEY_PROPERTY, могут вернуть значение NULL в случае, если пользователь не имеет разрешений на объект. Дополнительные сведения см. в разделе Настройка видимости метаданных.

Примеры

В следующем примере показано, как можно вернуть оба свойства для индекса с идентификатором 1 и ключевым столбцом 1 в таблице Production.Location.

USE AdventureWorks2012;
GO
SELECT 
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),
        1,1,'ColumnId') AS [Column ID],
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),
        1,1,'IsDescending') AS [Asc or Desc order];

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

Column ID   Asc or Desc order 
----------- ----------------- 
1           0

(1 row(s) affected)

См. также

Справочник

INDEX_COL (Transact-SQL)

INDEXPROPERTY (Transact-SQL)

sys.objects (Transact-SQL)

sys.indexes (Transact-SQL)

sys.index_columns (Transact-SQL)