INDEX_COL (Transact-SQL)
Retorna o nome de coluna indexado. Retorna NULL para índices XML.
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
Consulte também