Retrieves a description of the primary key columns that are referenced by the foreign key columns in a table.

public java.sql.ResultSet getImportedKeys(java.lang.String cat,
                                          java.lang.String schema,
                                          java.lang.String table)

Parameters

cat

A string that contains the catalog name.

schema

A string that contains the schema name.

table

A string that contains the table name.

Return Value

A SQLServerResultSet object.

Exceptions

SQLServerException

Remarks

This getImportedKeys method is specified by the getImportedKeys method in the java.sql.DatabaseMetaData interface.

The result set returned by the getImportedKeys 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)

Note: For more information about the data returned by the getImportedKeys method, see "sp_fkeys (Transact-SQL)" in SQL Server Books Online.

Example

The following example demonstrates how to use the getImportedKeys method to return information about all the primary keys that reference the foreign keys of the Person.Address table in the SQL Server 2005 AdventureWorks sample database.

public static void executeGetImportedKeys(Connection con) {
   try {
      DatabaseMetaData dbmd = con.getMetaData();
      ResultSet rs = dbmd.getImportedKeys("AdventureWorks", "Person", "Address");
      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();
   }
}

See Also