INDEX_COL (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance
Devuelve el nombre de columna indizado. Devuelve NULL para los índices XML.
Convenciones de sintaxis de Transact-SQL
Sintaxis
INDEX_COL ( '[ database_name . [ schema_name ] .| schema_name ]
table_or_view_name', index_id , key_id )
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 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
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)