INDEXKEY_PROPERTY (Transact-SQL)

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

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

ms186773.note(ru-ru,SQL.90).gifВажно!
В будущей версии 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 в случае ошибки или если участник не имеет разрешения на просмотр объекта.

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

Примеры

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

USE AdventureWorks;
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)

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

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

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

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

17 июля 2006 г.

Новое содержимое
  • Добавлен раздел «Исключения».