INDEXKEY_PROPERTY (Transact-SQL)
Возвращает сведения о ключах индекса, Возвращает значение NULL для XML-индексов.
Важно! |
---|
В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте sys.index_columns (Transact-SQL). |
Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии). |
Синтаксические обозначения в Transact-SQL
Синтаксис
INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )
Аргументы
object_ID
Идентификатор таблицы или индексированного представления. Аргумент object_ID имеет тип int.index_ID
Идентификатор индекса. Аргумент index_ID имеет тип intkey_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)