INDEX_COL (Transact-SQL)

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

Ícone de vínculo de tópicoConvenções de sintaxe 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 tabela ou exibição indexada. table_or_view_name deve ser delimitada por aspas simples, e deve ser qualificada completamente pelo nome do banco de dados e do esquema.

  • index_id
    É a identificação do índice. index_ID é int.

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

Tipos de retorno

nvarchar (128)

Exceções

Retorna NULL para erro ou caso um chamador não tenha permissão para exibir o objeto.

Um usuário só pode exibir metadados de protegíveis de sua propriedade ou para os quais tenha recebido 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 Configuração de visibilidade de metadados e Solucionando problemas de visibilidade de metadados.

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 AdventureWorks2008R2;
GO
SELECT 
    INDEX_COL (N'AdventureWorks2008R2.Sales.SalesOrderDetail', 1,1) AS
        [Index Column 1], 
    INDEX_COL (N'AdventureWorks2008R2.Sales.SalesOrderDetail', 1,2) AS
        [Index Column 2]
;
GO

Aqui está o conjunto de resultados:

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