INDEX_COL (Transact-SQL)

Restituisce il nome della colonna indicizzata. Per gli indici XML, restituisce NULL.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • database_name
    Nome del database.

  • schema_name
    Nome dello schema a cui appartiene l'indice.

  • table_or_view_name
    Nome della tabella o della vista indicizzata. table_or_view_name deve essere racchiuso tra virgolette singole e può essere qualificato tramite il nome del database o il nome dello schema.

  • index_id
    ID dell'indice. index_ID è di tipo int.

  • key_id
    Posizione della colonna chiave indice. key_ID è di tipo int.

Tipi restituiti

nvarchar (128)

Eccezioni

Restituisce NULL in caso di errore o se un chiamante non dispone dell'autorizzazione necessaria per visualizzare l'oggetto.

Un utente può visualizzare esclusivamente i metadati delle entità a protezione diretta di cui è proprietario o per cui ha ricevuto un'autorizzazione. Di conseguenza, le funzioni predefinite di creazione dei metadati come INDEX_COL possono restituire NULL se l'utente non dispone di alcuna autorizzazione per l'oggetto. Per ulteriori informazioni, vedere Configurazione della visibilità dei metadati e Risoluzione dei problemi relativi alla visibilità dei metadati.

Esempi

A. Utilizzo di INDEX_COL per restituire il nome della colonna di indice.

Nell'esempio seguente vengono restituiti i nomi di colonna delle due colonne chiave nell'indice PK_SalesOrderDetail_SalesOrderID_LineNumber.

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

Set di risultati:

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