jdbcでOracleのフィールドのテーブル名をどのように取得するか

OracleデータベースをJDBCで操作するとき、フィールドのテーブル名を取得するために次の方法を使用できます。

1. `ResultSetMetaData`クラスを使用する:
`ResultSet`オブジェクトの`getMetaData()`メソッドを使用して`ResultSetMetaData`オブジェクトを取得し、`getTableName(int column)`メソッドで指定した列のテーブル名を取得できます。
サンプルコード:
“`java
String sql = “SELECT * FROM your_table”;
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
ResultSetMetaData metaData = resultSet.getMetaData();
int columnCount = metaData.getColumnCount();
for (int i = 1; i <= columnCount; i++) {
String tableName = metaData.getTableName(i);
System.out.println(“Column ” + i + ” is from table ” + tableName);
}
resultSet.close();
statement.close();
“`

2. Oracle固有のSQLクエリを使用する:
Oracleのシステム表`ALL_TAB_COLUMNS`を使用してフィールドのテーブル名を取得できます。
サンプルコード:
“`java
String sql = “SELECT COLUMN_NAME, TABLE_NAME FROM ALL_TAB_COLUMNS WHERE OWNER = ‘YOUR_SCHEMA'”;
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
String columnName = resultSet.getString(“COLUMN_NAME”);
String tableName = resultSet.getString(“TABLE_NAME”);
System.out.println(“Column ” + columnName + ” is from table ” + tableName);
}
resultSet.close();
statement.close();
“`

上記の2つの方法はどちらもフィールドに対応するテーブル名を取得できます。実際のニーズに応じて適切な方法を選択してください。

bannerAds