指定されたテーブルの主キー列を参照する外部キー列の記述を取得します。
構文
public java.sql.ResultSet getExportedKeys(java.lang.String cat,
java.lang.String schema,
java.lang.String table)
パラメーター
cat
カタログ名を含む文字列です。
schema
スキーマ名を含む文字列です。
テーブル
テーブル名を含む文字列です。
戻り値
SQLServerResultSet オブジェクトです。
例外
解説
この 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) |
Note
getExportedKeys メソッドによって返されるデータの詳細については、SQL Server オンライン ブックの「sp_fkeys (Transact-SQL)」を参照してください。
例
次に示す getExportedKeys メソッドの使い方の例では、AdventureWorks2022 サンプル データベースの 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();
}
}
参照
SQLServerDatabaseMetaData のメソッド
SQLServerDatabaseMetaData のメンバー
SQLServerDatabaseMetaData クラス