INDEXKEY_PROPERTY (Transact-SQL)
Возвращает сведения о ключах индекса, а также NULL для XML-индексов.
Важно! |
---|
В будущей версии Microsoft SQL Server эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. Вместо этого используйте sys.index_columns (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 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)