检索引用给定表的主键列的外键列的说明。
语法
public java.sql.ResultSet getExportedKeys(java.lang.String cat, java.lang.String schema, java.lang.String table)
参数
cat
包含目录名称的 String。
schema
包含架构名称的 String。
table
包含表名称的 String。
返回值
异常
注释
此 getExportedKeys 方法由 java.sql.DatabaseMetaData 接口中的 getExportedKeys 方法指定。
由 getExportedKeys 方法返回的结果集将包含下列信息:
名称 | 类型 | 说明 |
---|---|---|
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) |
有关 getExportedKeys 方法返回的数据的详细信息,请参阅 SQL Server 联机丛书中的“sp_fkeys (Transact-SQL)”。
示例
以下示例演示了如何使用 getExportedKeys 方法返回有关引用 SQL Server 2005AdventureWorks 示例数据库中 Person.Contact 表的主键的所有外键信息。
public static void executeGetExportedKeys(Connection con) { try { DatabaseMetaData dbmd = con.getMetaData(); ResultSet rs = dbmd.getExportedKeys("AdventureWorks", "Person", "Contact"); 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(); } }