Méthode getIndexInfo (SQLServerDatabaseMetaData)
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
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