INDEX_COL (Transact-SQL)

Se aplica a:yesSQL Server (todas las versiones compatibles) YesAzure SQL Database YesAzure SQL Managed Instance

Devuelve el nombre de columna indizado. Devuelve NULL para los índices XML.

Topic link iconConvenciones de sintaxis de Transact-SQL

Sintaxis

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

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

database_name
Es el nombre de la base de datos.

schema_name
Es el nombre del esquema al que pertenece el índice.

table_or_view_name
Es el nombre de la tabla o la vista indizada. table_or_view_name debe delimitarse con comillas simples y dobles y los literales deben delimitarse con comillas simples y puede ser un nombre completo e incluir el nombre de la base de datos y el nombre del esquema.

id_de_índice
Es el identificador del índice. index_ID es int.

key_id
Es la posición de la columna de clave de índice. key_ID es int.

Tipos de valor devuelto

nvarchar (128)

Excepciones

Devuelve NULL si se produce un error o si el autor de la llamada no tiene permiso para ver el objeto.

Un usuario solo puede ver los metadatos de elementos protegibles que posea o para los que se le haya concedido permiso. Esto significa que las funciones integradas de emisión de metadatos, como INDEX_COL, pueden devolver NULL si el usuario no tiene ningún permiso para el objeto. Para obtener más información, consulte Metadata Visibility Configuration.

Ejemplos

A. Utilizar INDEX_COL para devolver un nombre de columna de índice

En el ejemplo siguiente se devuelven los nombres de columna de las dos columnas de clave del índice PK_SalesOrderDetail_SalesOrderID_LineNumber.

USE AdventureWorks2012;  
GO  
SELECT   
    INDEX_COL (N'AdventureWorks2012.Sales.SalesOrderDetail', 1,1) AS  
        [Index Column 1],   
    INDEX_COL (N'AdventureWorks2012.Sales.SalesOrderDetail', 1,2) AS  
        [Index Column 2]  
;  
GO  

El conjunto de resultados es:

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

Consulte también

Expresiones (Transact-SQL)
Funciones de metadatos (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)