Méthode getIndexInfo (SQLServerDatabaseMetaData)

Télécharger le pilote JDBC

Récupère une description des index et statistiques pour la table donnée.

Syntaxe

  
public java.sql.ResultSet getIndexInfo(java.lang.String cat,  
                                       java.lang.String schema,  
                                       java.lang.String table,  
                                       boolean unique,  
                                       boolean approximate)  

Paramètres

cat

Chaîne contenant le nom du catalogue.

schema

Chaîne contenant le nom du schéma.

table

Chaîne qui contient le nom de la table.

unique

true si seuls les index des valeurs uniques sont retournés. false si tous les index sont retournés.

approximate

true si les résultats reflètent des valeurs approximatives ou obsolètes. false si les résultats sont exacts.

Valeur de retour

Objet SQLServerResultSet.

Exceptions

SQLServerException

Notes

Cette méthode getIndexInfo est spécifiée par la méthode getIndexInfo de l’interface java.sql.DatabaseMetaData.

Le jeu de résultats retourné par la méthode getIndexInfo contient les informations suivantes :

Nom Type Description
TABLE_CAT Chaîne Nom de la base de données qui contient la table spécifiée.
TABLE_SCHEM Chaîne Schéma de la table.
TABLE_NAME Chaîne Nom de la table.
NON_UNIQUE boolean Indique si les valeurs d'index peuvent ne pas être uniques.
INDEX_QUALIFIER Chaîne Nom du propriétaire de l’index. Il peut avoir la valeur Null lorsque TYPE correspond à tableIndexStatistic.
INDEX_NAME Chaîne Nom de l’index.
TYPE short Type de l’index. Ce peut être l’une des valeurs suivantes :

tableIndexStatistic (0)

tableIndexClustered (1)

tableIndexHashed (2)

tableIndexOther (3)
ORDINAL_POSITION short Position ordinale de la colonne dans l'index. La première colonne dans l'index est 1.
COLUMN_NAME Chaîne Nom de la colonne.
ASC_OR_DESC Chaîne Ordre utilisé dans le classement de l'index. Ce peut être l’une des valeurs suivantes :

A (croissant)

D (décroissant)

NULL (non applicable)

Remarque : SQL Server retourne toujours « A ».
CARDINALITY int Nombre de lignes dans la table ou de valeurs uniques dans l'index.
PAGES int Nombre de pages utilisées pour le stockage de l'index ou de la table.
FILTER_CONDITION Chaîne Condition de filtrage.

Remarque : SQL Server retourne toujours Null.

Notes

Pour plus d’informations sur les données retournées par la méthode getIndexInfo, consultez « sp_indexes (Transact-SQL) » dans la documentation en ligne de SQL Server.

Exemple

L’exemple suivant montre comment utiliser la méthode getIndexInfo pour retourner des informations sur les index et les statistiques de la table Person.Contact dans l’exemple de base de données AdventureWorks2022.

public static void executeGetIndexInfo(Connection con) {  
   try {  
      DatabaseMetaData dbmd = con.getMetaData();  
      ResultSet rs = dbmd.getIndexInfo("AdventureWorks", "Person", "Contact", false, true);  
      ResultSetMetaData rsmd = rs.getMetaData();  
  
      // Display the result set data.  
      int cols = rsmd.getColumnCount();  
      while(rs.next()) {  
         for (int i = 1; i <= cols; i++) {  
            System.out.println(rs.getString(i));  
         }  
      }  
      rs.close();  
   }   
  
   catch (Exception e) {  
      e.printStackTrace();  
   }  
}  

Voir aussi

Méthodes SQLServerDatabaseMetaData
SQLServerDatabaseMetaData, membres
SQLServerDatabaseMetaData, classe