INDEX_COL (Transact-SQL)
Restituisce il nome della colonna indicizzata. Per gli indici XML, restituisce NULL.
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 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
Set di risultati:
Index Column 1 Index Column 2
-----------------------------------------------
SalesOrderID SalesOrderDetailID