1

Eclipse SQLQueryParserManager を使用して、SQL クエリからテーブル名と列名を抽出しています。通常のクエリを使用すると、正しい詳細が得られます。しかし、クエリ内でサブクエリを使用すると、サブクエリの詳細を取得できません。

これが私がやったことです:

SQLQueryParserManager parserManager = SQLQueryParserManagerProvider.getInstance()
.getParserManager("oracle", "10g");
SQLQueryParseResult parseResult = parserManager.parseQuery("select distinct xyz 
from t_abc where type = 7 and transmiss_id in (select wxy from t_abc where 
transmi_name like 'us_'");
QueryStatement resultObject = parseResult.getQueryStatement();
String parsedSQL = resultObject.getSQL();
List tableList = StatementHelper.getTablesForStatement(resultObject);
for (Object obj : tableList) {
TableInDatabase t = (TableInDatabase) obj;
System.out.println(" Tables : " + t.getName());
for (Object column : t.getValueExprColumns()) {
System.out.println("  Columns :  " + ((ValueExpressionColumn)column).getName());
}
}

サブクエリの結果を得るために、私が使用しなければならないものを誰かが提案できますか?

4

0 に答える 0