使用Eclipse DTP的SQLQueryParserManager提取SubQuery详细信息

时间:2013-12-18 13:27:20

标签: java sql eclipse sql-parser eclipse-dtp

我正在使用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());
}
}

有人可以建议我必须使用什么,以获得子查询结果吗?

0 个答案:

没有答案