INDEXKEY_PROPERTY (Transact-SQL)

S’applique à : SQL Server Azure SQL Managed Instance

Retourne des informations concernant la clé d'index. Retourne la valeur NULL pour les index XML.

Important

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez plutôt sys.index_columns (Transact-SQL).

Conventions de la syntaxe Transact-SQL

Syntaxe

INDEXKEY_PROPERTY ( object_ID ,index_ID ,key_ID ,property )  

Arguments

object_ID
Numéro d'identification de l'objet de la table ou de la vue indexée. object_ID est de type int.

index_ID
Numéro d'identification de l'index. index_ID est de type int.

key_ID
Position de la colonne clé d'index. key_ID est de type int.

property
Nom de la propriété pour laquelle des informations sont retournées. property est une chaîne de caractères qui peut avoir l’une des valeurs suivantes.

Value Description
ColumnId Identificateur de colonne à la position key_ID de l’index.
IsDescending Ordre de stockage de la colonne d'index

1 = décroissant 0 = croissant

Types de retour

int

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 INDEXKEY_PROPERTY, peuvent retourner la valeur NULL si l'utilisateur ne dispose d'aucune autorisation sur l'objet. Pour plus d'informations, consultez Metadata Visibility Configuration.

Exemples

Dans l'exemple suivant, les deux propriétés sont retournées pour l'ID index 1, la colonne clé 1 dans la table Production.Location.

USE AdventureWorks2022;  
GO  
SELECT   
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),  
        1,1,'ColumnId') AS [Column ID],  
    INDEXKEY_PROPERTY(OBJECT_ID('Production.Location', 'U'),  
        1,1,'IsDescending') AS [Asc or Desc order];  

Voici l'ensemble de résultats obtenu :

Column ID   Asc or Desc order   
----------- -----------------   
1           0  
  
(1 row(s) affected)  

Voir aussi

INDEX_COL (Transact-SQL)
INDEXPROPERTY (Transact-SQL)
sys.objects (Transact-SQL)
sys.indexes (Transact-SQL)
sys.index_columns (Transact-SQL)