【发布时间】:2014-03-01 12:00:23
【问题描述】:
我想使用 java DatabaseMetaData 获取外键并尝试过。
但我只有外键引用 pk 列,无法引用唯一列。
我尝试使用 getCrossReference()、getImportedKeys() 模式和相同的结果。
这是我的代码,数据库是 Oracle11g。
ResultSet rset = databaseMetaData.getImportedKeys(null, dbName, tableName);
while(rset.next()){
String column_name = rset.getString("FKCOLUMN_NAME");
String pk_table = rset.getString("PKTABLE_NAME");
String pk_column = rset.getString("PKCOLUMN_NAME");
String constraint_name = rset.getString("FK_NAME");
System.out.println(column_name + " ==> " + pk_column + "(TBL:" + pk_table + ")(CN:" + constraint_name + ")");
}
rset.close();
该表有两个外键(一个引用 pk 列,另一个引用唯一列)但我只有一个日志。
有什么错误吗?
谢谢。
【问题讨论】:
-
你试过
getImportedKeys(null,null,tableName)吗? -
@bellabax:谢谢 bellabax。我试过了,结果一样。
-
现在,我想它是否只是用于 PK 的外键,但我找不到关于它的描述。 :
标签: java jdbc oracle11g foreign-keys database-metadata