INDEX_COL (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure
Возвращает имя индексированного столбца. Возвращает NULL для XML-индексов.
Соглашения о синтаксисе Transact-SQL
Синтаксис
INDEX_COL ( '[ database_name . [ schema_name ] .| schema_name ]
table_or_view_name', index_id , key_id )
Аргументы
database_name
Имя базы данных.
schema_name
Имя схемы, которой принадлежит индекс.
table_or_view_name
Имя таблицы или индексированного представления. Аргумент table_or_view_name должен быть отделен одинарными кавычками и может полностью определяться именем базы данных и именем схемы.
index_id
Идентификатор индекса. Аргумент index_ID имеет тип int.
key_id
Позиция ключевого столбца индекса. Аргумент key_ID имеет тип int.
Типы возвращаемых данных
nvarchar (128 )
Исключения
Возвращает значение NULL в случае ошибки или если участник не имеет разрешений для просмотра объекта.
Пользователь может просматривать только метаданные защищаемых объектов, которыми он владеет или на которые пользователю были предоставлены разрешения. Это означает, что встроенные функции по формированию метаданных, например INDEX_COL, могут вернуть значение NULL, если пользователь не имеет каких-либо разрешений на объект. Дополнительные сведения см. в разделе Metadata Visibility Configuration.
Примеры
А. Использование INDEX_COL для возвращения имени столбца индекса
В приведенном ниже примере возвращаются имена двух ключевых столбцов в индексе PK_SalesOrderDetail_SalesOrderID_LineNumber
.
USE AdventureWorks2022;
GO
SELECT
INDEX_COL (N'AdventureWorks2022.Sales.SalesOrderDetail', 1,1) AS
[Index Column 1],
INDEX_COL (N'AdventureWorks2022.Sales.SalesOrderDetail', 1,2) AS
[Index Column 2]
;
GO
Результирующий набор:
Index Column 1 Index Column 2
-----------------------------------------------
SalesOrderID SalesOrderDetailID
См. также
Выражения (Transact-SQL)
Функции метаданных (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)