Compartilhar via


Método getIndexInfo (SQLServerDatabaseMetaData)

Baixar o JDBC Driver

Recupera uma descrição de índices e estatísticas da tabela fornecida.

Sintaxe

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

Parâmetros

cat

Uma String que contém o nome do catálogo.

schema

Uma String que contém o nome do esquema.

table

Uma String que contém o nome da tabela.

unique

true se forem retornados apenas os índices para valores exclusivos. false se forem retornados todos os índices.

approximate

true se os resultados refletirem valores aproximados ou desatualizados. false se os resultados forem precisos.

Valor retornado

Um objeto SQLServerResultSet.

Exceções

SQLServerException

Comentários

Esse método getIndexInfo é especificado pelo método getIndexInfo na interface java.sql.DatabaseMetaData.

O conjunto de resultados retornado pelo método getIndexInfo conterá as seguintes informações:

Nome Tipo Descrição
TABLE_CAT Cadeia de caracteres O nome do banco de dados no qual a tabela especificada reside.
TABLE_SCHEM Cadeia de caracteres O esquema da tabela.
TABLE_NAME Cadeia de caracteres O nome da tabela.
NON_UNIQUE booleano Indica se os valores de índice podem ser não exclusivos.
INDEX_QUALIFIER Cadeia de caracteres O nome do proprietário do índice. Ele será nulo quando TYPE for tableIndexStatistic.
INDEX_NAME Cadeia de caracteres O nome do índice.
TYPE short O tipo do índice. Pode ser um dos seguintes valores:

tableIndexStatistic (0)

tableIndexClustered (1)

tableIndexHashed (2)

tableIndexOther (3)
ORDINAL_POSITION short A posição ordinal da coluna no índice. A primeira coluna no índice é 1.
COLUMN_NAME Cadeia de caracteres O nome da coluna.
ASC_OR_DESC Cadeia de caracteres A ordem usada na ordenação do índice. Pode ser um dos seguintes valores:

A (crescente)

D (decrescente)

NULL (não aplicável)

Observação: SQL Server sempre retorna "A".
CARDINALITY int O número de linhas na tabela ou os valores exclusivos no índice.
PAGES int O número de páginas usadas para armazenar o índice ou a tabela.
FILTER_CONDITION Cadeia de caracteres A condição do filtro.

Observação: SQL Server sempre retorna nulo.

Observação

Para saber mais sobre os dados retornados pelo método getIndexInfo, confira "sp_indexes (Transact-SQL)" nos Manuais Online do SQL Server.

Exemplo

O exemplo a seguir demonstra como usar o método getIndexInfo para retornar informações sobre os índices e as estatísticas da tabela Person.Contact no banco de dados de exemplo 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();  
   }  
}  

Consulte Também

Métodos SQLServerDatabaseMetaData
Membros SQLServerDatabaseMetaData
Classe SQLServerDatabaseMetaData