Retrieves a description of the foreign key columns in the given foreign key table that references the primary key columns of the given primary key table.
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)
Parameters
cat1
A string that contains the catalog name of the table that contains the primary key.
schem1
A string that contains the schema name of the table that contains the primary key.
tab1
A string that contains the table name of the table that contains the primary key.
cat2
A string that contains the catalog name of the table that contains the foreign key.
schem2
A string that contains the schema name of the table that contains the foreign key.
tab2
A string that contains the table name of the table that contains the foreign key.
Return Value
A SQLServerResultSet object.
Exceptions
Remarks
This getCrossReference method is specified by the getCrossReference method in the java.sql.DatabaseMetaData interface.
The result set returned by the getCrossReference method will contain the following information:
Name | Type | Description |
---|---|---|
PKTABLE_CAT |
string |
The name of the catalog that contains the primary key table. |
PKTABLE_SCHEM |
string |
The name of the schema of the primary key table. |
PKTABLE_NAME |
string |
The name of the primary key table. |
PKCOLUMN_NAME |
string |
The column name of the primary key. |
FKTABLE_CAT |
string |
The name of the catalog that contains the foreign key table. |
FKTABLE_SCHEM |
string |
The name of the schema of the foreign key table. |
FKTABLE_NAME |
string |
The name of the foreign key table. |
FKCOLUMN_NAME |
string |
The column name of the foreign key. |
KEY_SEQ |
short |
The sequence number of the column in a multicolumn primary key. |
UPDATE_RULE |
short |
The action applied to the foreign key when the SQL operation is an update. It can be one of the following values: importedKeyNoAction (3) importedKeyCascade (0) importedKeySetNull (2) importedKeySetDefault (4) importedKeyRestrict (1) |
DELETE_RULE |
short |
The action applied to the foreign key when the SQL operation is a deletion. It can be one of the following values: importedKeyNoAction (3) importedKeyCascade (0) importedKeySetNull (2) importedKeySetDefault (4) importedKeyRestrict (1) |
FK_NAME |
string |
The name of the foreign key. |
PK_NAME |
string |
The name of the primary key. |
DEFERRABILITY |
short |
Indicates if the evaluation of the foreign key constraint can be deferred until a commit. It can be one of the following values: importedKeyInitiallyDeferred (5) importedKeyInitiallyImmediate (6) importedKeyNotDeferrable (7) |
Example
The following example demonstrates how to use the getCrossReference method to return information about the primary and foreign key relationship between the Person.Contact and HumanResources.Employee tables in the SQL Server 2005 AdventureWorks sample database.
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(); } }