Поделиться через


Метод getIndexInfo (SQLServerDatabaseMetaData)

Скачать драйвер JDBC

Возвращает описание индексов и статистику для заданной таблицы.

Синтаксис

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

Параметры

cat

Значение типа String, содержащее имя каталога.

schema

Значение типа String, содержащее имя схемы.

table

Значение типа String, содержащее имя таблицы.

unique

Значение true, если возвращаются только индексы для уникальных значений. Значение false, если возвращаются все индексы.

approximate

Значение true, если результаты отражают приблизительные или устаревшие значения. Значение false, если результаты являются точными.

Возвращаемое значение

Объект SQLServerResultSet.

Исключения

SQLServerException

Замечания

Этот метод getIndexInfo определен с помощью метода getIndexInfo в интерфейсе java.sql.DatabaseMetaData.

Результирующий набор, возвращаемый методом getIndexInfo, включает следующие данные.

Имя. Тип Описание
TABLE_CAT String Имя базы данных, в которой расположена указанная таблица.
TABLE_SCHEM String Схема таблицы.
TABLE_NAME String Название таблицы.
NON_UNIQUE boolean Указывает, могут ли значения индекса быть неуникальными.
INDEX_QUALIFIER String Имя владельца индекса. Принимает значение NULL, если TYPE равен tableIndexStatistic.
INDEX_NAME String Имя индекса.
ТИП short Тип индекса. Может иметь одно из следующих значений.

tableIndexStatistic (0)

tableIndexClustered (1)

tableIndexHashed (2)

tableIndexOther (3)
ORDINAL_POSITION short Порядковый номер столбца в индексе. Номер первого столбца в таблице равен 1.
COLUMN_NAME String Имя столбца.
ASC_OR_DESC String Порядок, используемый в параметрах сортировки индекса. Может иметь одно из следующих значений.

A (по возрастанию)

D (по убыванию)

NULL (неприменимо)

Примечание. SQL Server всегда возвращает "A".
CARDINALITY int Число строк в таблице или уникальных значений в индексе.
PAGES int Число страниц для хранения индекса или таблицы.
FILTER_CONDITION String Условие фильтра.

Примечание. SQL Server всегда возвращает NULL.

Примечание.

Дополнительные сведения о данных, возвращаемых методом getIndexInfo, см. в разделе "sp_indexes (Transact-SQL)" электронной документации на SQL Server.

Пример

В следующем примере показано, как использовать метод getIndexInfo для возврата сведений об индексах и статистике таблицы Person.Contact в образце базы данных 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();  
   }  
}  

См. также

Методы SQLServerDatabaseMetaData
Элементы SQLServerDatabaseMetaData
Класс SQLServerDatabaseMetaData