使用jdbc语句创建并选择语句

时间:2017-05-28 06:57:58

标签: java jdbc netezza

我需要创建一个临时表,并在一个会话中针对Netezza数据库选择临时表。

表:abc,def

String query = create temp table MyTemp as select * from abc join def; select col1, col2 from MyTemp;";
boolean result = statement.execute(query);
while(true) {
     if(result) {
       ResultSet rs = statements.getResultSet();
       while(rs.next()) {
        //Access result set.
       }
     } else {
        int count = statement.getUpdateCount(); -- CREATE statement output
         if(count == -1) {
          break;
         }
        result = statement.getMoreResults();
     }
}

我希望在执行CREATE临时语句后跟SELECT语句时从语句中获取updatecount和结果集。

我在第一个语句(CREATE语句输出)中得到结果为true。但是后来当statement.getMoreResults被执行时,我得到了错误。但根据文档,statement.getMoreResults为ResultSet输出返回true。

我有一个替代解决方案,即使用分号拆分字符串并使用相同的语句执行各个查询。但我想知道上述解决方案为什么不起作用。

1 个答案:

答案 0 :(得分:0)

我不确定Netezza JDBC驱动程序是否支持它,或者它是否可以使用您的示例查询和现有代码,但看起来您可能需要将allowMultiQueries=true作为选项传递给您JDBC URL。

有关详细信息,请参阅this answer