INDEX_COL (Transact-SQL)
Renvoie le nom de la colonne indexée. Renvoie la valeur NULL pour les index XML.
Syntaxe
INDEX_COL ( '[ database_name . [ schema_name ] .| schema_name ]
table_or_view_name', index_id , key_id )
Arguments
database_name
Nom de la base de données.schema_name
Nom du schéma auquel appartient l'index.table_or_view_name
Nom de la table ou de la vue indexée. L'argument table_or_view_name doit être délimité par des guillemets simples et peut être qualifié par un nom de base de données et de schéma.index_id
Identificateur de l'index. index_ID est de type int.key_id
Position de la colonne de clé d'index. key_ID est de type int.
Type des valeurs renvoyées
nvarchar (128)
Exceptions
Retourne la valeur NULL en cas d'erreur ou si un appelant n'est pas autorisé à afficher l'objet.
Un utilisateur peut voir uniquement les métadonnées des éléments sécurisables qui lui appartiennent ou pour lesquels il dispose d'une autorisation. Cela signifie que les fonctions intégrées générant des métadonnées, telles que INDEX_COL, peuvent retourner la valeur NULL si l'utilisateur ne dispose d'aucune autorisation sur l'objet. Pour plus d'informations, consultez Configuration de la visibilité des métadonnées et Dépannage de la visibilité des métadonnées.
Exemples
A. Utilisation de INDEX_COL pour le renvoi d'une colonne d'index
L'exemple suivant renvoie le nom des deux colonnes clés dans l'index 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
Voici le jeu de résultats obtenu :
Index Column 1 Index Column 2
-----------------------------------------------
SalesOrderID SalesOrderDetailID