Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jdbc语句创建和选择语句_Java_Jdbc_Netezza - Fatal编程技术网

Java 使用jdbc语句创建和选择语句

Java 使用jdbc语句创建和选择语句,java,jdbc,netezza,Java,Jdbc,Netezza,我需要创建一个临时表,并在一个会话中针对Netezza DB在临时表上进行选择 表: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 =

我需要创建一个临时表,并在一个会话中针对Netezza DB在临时表上进行选择

表: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();
     }
}
在执行CREATETEMP语句和SELECT语句时,我希望从该语句中获取updatecount和resultset

对于第一个语句CREATE语句输出,我得到的结果为true。但稍后当statement.getMoreResults被执行时,我得到了false。但是根据文档,语句.getMoreResults对于ResultSet输出返回true


我有另一种解决方案,使用分号拆分字符串,并使用同一语句执行单个查询。但是我想知道为什么上面的解决方案不起作用。

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


有关更多信息,请参阅。

Netezza DB是否支持此SQL语句?从abc中选择*创建临时表;从abc中选择*还是这是一个输入错误?我可以使用AginityNetezza SQL编辑器执行相同的查询。我在select语句的末尾添加了一个缺少的分号。我还可以在Netezza管理员工具中验证Netezza是否确实执行了查询。我没有使用Netezza。但是,为什么您的查询在同一个表中有两个select语句select*from abc;从abc中选择*;您的查询不是SQL语句,而是脚本。我不知道Netezza JDBC驱动程序,但大多数JDBC驱动程序只允许一个语句,不允许脚本。您能在同一事务中执行两个单独的语句吗?在一个会话中是什么意思?因为JDBC接受每个语句一个查询,所以我尝试了这个选项,但没有成功。正如您所指出的,这可能是因为Netezza JDBC驱动程序。现在我正在使用分号拆分字符串,并分别执行SQL语句。@AnanthGopinath-很好的调用。我最近不得不做一些类似的事情,所以,一些未经请求的提示:确保分号在拆分时不在引号中。它还有助于在拆分之前删除注释,以确保不会运行被注释掉的查询。