getCrossReference-Methode (SQLServerDatabaseMetaData)
Ruft eine Beschreibung der Fremdschlüsselspalten in der angegebenen Fremdschlüsseltabelle ab, von der auf die Primärschlüsselspalten der angegebenen Primärschlüsseltabelle verwiesen wird.
Syntax
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)
Parameter
cat1
Ein String-Objekt, das den Katalognamen der Tabelle enthält, die den Primärschlüssel enthält.
schem1
Ein String-Objekt, das den Schemanamen der Tabelle enthält, die den Primärschlüssel enthält.
tab1
Ein String-Objekt, das den Tabellennamen der Tabelle enthält, die den Primärschlüssel enthält.
cat2
Ein String-Objekt, das den Katalognamen der Tabelle enthält, die den Fremdschlüssel enthält.
schem2
Ein String-Objekt, das den Schemanamen der Tabelle enthält, die den Fremdschlüssel enthält.
tab2
Ein String-Objekt, das den Tabellennamen der Tabelle enthält, die den Fremdschlüssel enthält.
Rückgabewert
Ein SQLServerResultSet-Objekt.
Ausnahmen
Bemerkungen
Diese getCrossReference-Methode wird von der getCrossReference-Methode in der java.sql.DatabaseMetaData-Schnittstelle angegeben.
Das von der getCrossReference-Methode zurückgegebene Resultset enthält die folgenden Informationen:
Name | Typ | BESCHREIBUNG |
---|---|---|
PKTABLE_CAT | String | Der Name des Katalogs, der die Primärschlüsseltabelle enthält. |
PKTABLE_SCHEM | String | Der Name des Schemas der Primärschlüsseltabelle. |
PKTABLE_NAME | String | Der Name der Primärschlüsseltabelle. |
PKCOLUMN_NAME | String | Der Spaltenname des Primärschlüssels. |
FKTABLE_CAT | String | Der Name des Katalogs, der die Fremdschlüsseltabelle enthält. |
FKTABLE_SCHEM | String | Der Name des Schemas der Fremdschlüsseltabelle. |
FKTABLE_NAME | String | Der Name der Fremdschlüsseltabelle. |
FKCOLUMN_NAME | String | Der Spaltenname des Fremdschlüssels. |
KEY_SEQ | short | Die Sequenznummer der Spalte bei einem Primärschlüssel, der durch mehrere Spalten definiert wird. |
UPDATE_RULE | short | Die auf den Fremdschlüssel angewendete Aktion, wenn es sich beim SQL-Vorgang um ein Update handelt. Es kann sich um einen der folgenden Werte handeln: importedKeyNoAction (3) importedKeyCascade (0) importedKeySetNull (2) importedKeySetDefault (4) importedKeyRestrict (1) |
DELETE_RULE | short | Die auf den Fremdschlüssel angewendete Aktion, wenn es sich beim SQL-Vorgang um eine Löschung handelt. Es kann sich um einen der folgenden Werte handeln: importedKeyNoAction (3) importedKeyCascade (0) importedKeySetNull (2) importedKeySetDefault (4) importedKeyRestrict (1) |
FK_NAME | String | Der Name des Fremdschlüssels. |
PK_NAME | String | Der Name des Primärschlüssels. |
DEFERRABILITY | short | Zeigt an, ob die Auswertung der Fremdschlüsseleinschränkung bis zur Ausführung einer Commit-Aktion verzögert werden kann. Es kann sich um einen der folgenden Werte handeln: importedKeyInitiallyDeferred (5) importedKeyInitiallyImmediate (6) importedKeyNotDeferrable (7) |
Hinweis
Weitere Informationen zu den Daten, die von der getCrossReference-Methode zurückgegeben werden, finden Sie in der SQL Server-Onlinedokumentation unter „sp_fkeys (Transact-SQL)“.
Beispiel
Im folgenden Beispiel wird dargestellt, wie die getCrossReference-Methode zur Rückgabe von Informationen über die Primär- und Fremdschlüsselbeziehung zwischen der Person.Contact- und der HumanResources.Employee-Tabelle in der AdventureWorks2022-Beispieldatenbank verwendet wird.
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();
}
}
Weitere Informationen
SQLServerDatabaseMetaData-Methoden
SQLServerDatabaseMetaData-Elemente
SQLServerDatabaseMetaData-Klasse