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


Метод getBestRowIdentifier (SQLServerDatabaseMetaData)

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

Возвращает описание оптимального набора столбцов таблицы, который уникальным образом идентифицирует строку.

Синтаксис

  
public java.sql.ResultSet getBestRowIdentifier(java.lang.String catalog,  
                                               java.lang.String schema,  
                                               java.lang.String table,  
                                               int scope,  
                                               boolean nullable)  

Параметры

catalog

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

schema

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

table

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

область

Значение int, указывающее область действия. Возможны следующие значения:

bestRowTemporary (0)

bestRowTransaction (1)

bestRowSession (2)

nullable

Значение true, если включаются столбцы, допускающие значение NULL. В противном случае — false.

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

Объект SQLServerResultSet.

Исключения

SQLServerException

Замечания

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

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

Имя. Тип Описание
ОБЛАСТЬ short Область возвращаемых результатов. Может иметь одно из следующих значений.

bestRowTemporary (0)

bestRowTransaction (1)

bestRowSession (2)
COLUMN_NAME Строка Имя столбца.
DATA_TYPE short Тип данных SQL из java.sql.Types.
TYPE_NAME Строка Имя типа данных.
COLUMN_SIZE INT Точность столбца.
BUFFER_LENGTH INT Длина буфера.
DECIMAL_DIGITS short Масштаб столбца.
PSEUDO_COLUMN short Указывает, является ли столбец псевдостолбцом. Может иметь одно из следующих значений.

bestRowUnknown (0)

bestRowNotPseudo (1)

bestRowPseudo (2)

Пример

В следующем примере показано, как использовать метод getBestRowIdentifier для возврата сведений о лучшем идентификаторе строки таблицы Person.Contact в образце базы данных AdventureWorks2022.

public static void executeGetBestRowIdentifier(Connection con) {  
   try {  
      DatabaseMetaData dbmd = con.getMetaData();  
      ResultSet rs = dbmd.getBestRowIdentifier(null, "Person", "Contact", 0, 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