getExportedKeys メソッド (SQLServerDatabaseMetaData)
指定されたテーブルの主キー列を参照する外部キー列の記述を取得します。
構文
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 クラス