INDEX_COL (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Returnerar det indexerade kolumnnamnet. Returnerar NULL för XML-index.

Transact-SQL syntaxkonventioner

Syntax

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

Arguments

database_name
Är namnet på databasen.

schema_name
Är namnet på schemat som indexet tillhör.

table_or_view_name
Är namnet på tabellen eller den indexerade vyn. table_or_view_name måste avgränsas med enkla citattecken och kan vara fullt kvalificerad med databasnamn och schemanamn.

index_id
Är indexets ID. index_ID är int.

key_id
Är kolumnpositionen för indexnyckeln. key_ID är int.

Returtyper

Nvarchar (128)

Exceptions

Returnerar NULL vid fel eller om en anropare inte har behörighet att visa objektet.

En användare kan bara visa metadata för skyddsbara filer som användaren äger eller som användaren har beviljats behörighet för. Detta innebär att inbyggda funktioner som INDEX_COL metadata kan returnera NULL om användaren inte har några behörigheter på objektet. För mer information, se inställningar för metadatasynlighet.

Examples

A. Att använda INDEX_COL för att returnera ett kolumnnamn i index

Följande exempel återger kolumnnamnen för de två nyckelkolumnerna i indexet 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  

Här är resultatmängden:

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

Se även

Uttryck (Transact-SQL)
Metadata functions (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)