INDEXKEY_PROPERTY (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure

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

Внимание

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

значение Описание
ColumnId Идентификатор столбца в положении key_ID индекса.
IsDescending Порядок, в котором хранится индексированный столбец:

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

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

int

Исключения

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

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

Примеры

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

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