Compartilhar via


INDEX_COL (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instâ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 )   

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)