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


Метод getCrossReference (SQLServerDatabaseMetaData)

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

Возвращает описание столбцов внешнего ключа в заданной таблице внешнего ключа, который ссылается на столбцы первичного ключа заданной таблицы первичного ключа.

Синтаксис

  
public java.sql.ResultSet getCrossReference(java.lang.String cat1,  
                                            java.lang.String schem1,  
                                            java.lang.String tab1,  
                                            java.lang.String cat2,  
                                            java.lang.String schem2,  
                                            java.lang.String tab2)  

Параметры

cat1

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

schem1

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

tab1

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

cat2

Значение типа String, содержащее имя каталога для таблицы, которая содержит внешний ключ.

schem2

Значение типа String, содержащее имя схемы для таблицы, которая содержит внешний ключ.

tab2

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

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

Объект SQLServerResultSet.

Исключения

SQLServerException

Замечания

Этот метод getCrossReference определяется методом getCrossReference в интерфейсе java.sql.DatabaseMetaData.

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

Имя. Тип Описание
PKTABLE_CAT String Имя каталога, содержащего таблицу первичного ключа.
PKTABLE_SCHEM String Имя схемы таблицы первичного ключа.
PKTABLE_NAME String Имя таблицы первичного ключа.
PKCOLUMN_NAME String Имя столбца первичного ключа.
FKTABLE_CAT String Имя каталога, содержащего таблицу внешнего ключа.
FKTABLE_SCHEM String Имя схемы таблицы внешнего ключа.
FKTABLE_NAME String Имя таблицы внешнего ключа.
FKCOLUMN_NAME String Имя столбца внешнего ключа.
KEY_SEQ short Порядковый номер столбца в первичном ключе из нескольких столбцов.
UPDATE_RULE short Действие, применяемое к внешнему ключу, если операцией SQL является операция обновления. Может иметь одно из следующих значений.

importedKeyNoAction (3)

importedKeyCascade (0)

importedKeySetNull (2)

importedKeySetDefault (4)

importedKeyRestrict (1)
DELETE_RULE short Действие, применяемое к внешнему ключу, если операцией SQL является операция удаления. Может иметь одно из следующих значений.

importedKeyNoAction (3)

importedKeyCascade (0)

importedKeySetNull (2)

importedKeySetDefault (4)

importedKeyRestrict (1)
FK_NAME String Имя внешнего ключа.
PK_NAME String Имя первичного ключа.
DEFERRABILITY short Указывает, можно ли отложить вычисление ограничения внешнего ключа до фиксации. Может иметь одно из следующих значений.

importedKeyInitiallyDeferred (5)

importedKeyInitiallyImmediate (6)

importedKeyNotDeferrable (7)

Примечание.

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

Пример

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

public static void executeGetCrossReference(Connection con) {  
   try {  
      DatabaseMetaData dbmd = con.getMetaData();  
      ResultSet rs = dbmd.getCrossReference("AdventureWorks", "Person", "Contact", null, "HumanResources", "Employee");  
      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