getImportedKeys 方法 (SQLServerDatabaseMetaData)
检索表中外键列引用的主键列的说明。
语法
public java.sql.ResultSet getImportedKeys(java.lang.String cat,
java.lang.String schema,
java.lang.String table)
参数
cat
一个包含目录名称的字符串 。
架构
一个包含架构名称的字符串。
table
一个包含表名称的字符串。
返回值
一个 SQLServerResultSet 对象。
例外
备注
此 getImportedKeys 方法是由 java.sql.DatabaseMetaData 接口中的 getImportedKeys 方法指定的。
由 getImportedKeys 方法返回的结果集将包含以下信息:
名称 | Type | 说明 |
---|---|---|
PKTABLE_CAT | 字符串 | 包含主键表的目录名称。 |
PKTABLE_SCHEM | 字符串 | 主键表的架构名称。 |
PKTABLE_NAME | 字符串 | 主键表的名称。 |
PKCOLUMN_NAME | 字符串 | 主键的列名称。 |
FKTABLE_CAT | 字符串 | 包含外键表的目录名称。 |
FKTABLE_SCHEM | 字符串 | 外键表的架构名称。 |
FKTABLE_NAME | 字符串 | 外键表的名称。 |
FKCOLUMN_NAME | 字符串 | 外键的列名称。 |
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 | 字符串 | 外键的名称。 |
PK_NAME | 字符串 | 主键的名称。 |
DEFERRABILITY | short | 指示对外键约束的计算是否可以延迟到提交时。 可以为下列值之一: importedKeyInitiallyDeferred (5) importedKeyInitiallyImmediate (6) importedKeyNotDeferrable (7) |
注意
有关 getImportedKeys 方法返回的数据的详细信息,请参阅 SQL Server 联机丛书中的“sp_fkeys (Transact-SQL)”。
示例
以下示例演示了如何使用 getImportedKeys 方法返回有关引用 AdventureWorks2022 示例数据库中 Person.Address 表的外键的所有主键的信息。
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();
}
}
另请参阅
SQLServerDatabaseMetaData 方法
SQLServerDatabaseMetaData 成员
SQLServerDatabaseMetaData 类