INDEX_COL (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

Retorna o nome de coluna indexado. Retorna NULL para índices XML.

Convenções de sintaxe de Transact-SQL

Sintaxe

INDEX_COL ( '[ database_name . [ schema_name ] .| schema_name ]  
    table_or_view_name', index_id , key_id )   

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Argumentos

database_name
É o nome do banco de dados.

schema_name
É o nome do esquema ao qual o índice pertence.

table_or_view_name
É o nome da exibição indexada ou de tabela. table_or_view_name deve ser delimitado por aspas simples e totalmente qualificado pelo nome do banco de dados e do esquema.

index_id
É a ID do índice. index_ID é int.

key_id
É a posição da coluna de chave do índice. key_ID é int.

Tipos de retorno

nvarchar (128)

Exceções

Retornará NULL em caso de erro ou se um chamador não tiver permissão para exibir o objeto.

Um usuário só pode exibir metadados de protegíveis de sua propriedade ou para os quais recebeu permissão. Isso significa que as funções internas emissoras de metadados, como INDEX_COL, podem retornar NULL, se o usuário não tiver permissão no objeto. Para obter mais informações, consulte Metadata Visibility Configuration.

Exemplos

a. Usando INDEX_COL para retornar um nome de coluna de índice

O exemplo a seguir retorna os nomes de coluna das duas colunas de chave no índice 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  

Este é o conjunto de resultados:

Index Column 1      Index Column 2  
-----------------------------------------------  
SalesOrderID        SalesOrderDetailID  

Consulte Também

Expressões (Transact-SQL)
funções de metadados (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)