getCrossReference メソッド (SQLServerDatabaseMetaData)

JDBC ドライバーのダウンロード

主キー テーブルの主キー列を参照する外部キー テーブルの外部キー列の記述を取得します。

構文

  
public java.sql.ResultSet getCrossReference(java.lang.String cat1,  
                                            java.lang.String schem1,  
                                            java.lang.String tab1,  
                                            java.lang.String cat2,  
                                            java.lang.String schem2,  
                                            java.lang.String tab2)  

パラメーター

cat1

主キーを含むテーブルのカタログ名を格納する文字列です。

schem1

主キーを含むテーブルのスキーマ名を格納する文字列です。

tab1

主キーを含むテーブルのテーブル名を格納する文字列です。

cat2

外部キーを含むテーブルのカタログ名を格納する文字列です。

schem2

外部キーを含むテーブルのスキーマ名を格納する文字列です。

tab2

外部キーを含むテーブルのテーブル名を格納する文字列です。

戻り値

SQLServerResultSet オブジェクトです。

例外

SQLServerException

解説

この getCrossReference メソッドは、java.sql.DatabaseMetaData インターフェイスの getCrossReference メソッドで指定されています。

getCrossReference メソッドによって返される結果セットには、次の情報が含まれます。

名前 説明
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

getCrossReference メソッドによって返されるデータの詳細については、SQL Server オンライン ブックの「sp_fkeys (Transact-SQL)」を参照してください。

次に示す getCrossReference メソッドの使い方の例では、AdventureWorks2022 サンプル データベースの Person.Contact テーブルと HumanResources.Employee テーブルの間の、主キーと外部キーのリレーションシップに関する情報が返されます。

public static void executeGetCrossReference(Connection con) {  
   try {  
      DatabaseMetaData dbmd = con.getMetaData();  
      ResultSet rs = dbmd.getCrossReference("AdventureWorks", "Person", "Contact", null, "HumanResources", "Employee");  
      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 クラス