Метод getCrossReference (SQLServerDatabaseMetaData)
Возвращает описание столбцов внешнего ключа в заданной таблице внешнего ключа, который ссылается на столбцы первичного ключа заданной таблицы первичного ключа.
Синтаксис
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.
Исключения
Замечания
Этот метод 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