【问题标题】:Executing multi - statement query in one session在一个会话中执行多语句查询
【发布时间】:2014-03-03 13:40:03
【问题描述】:

我已经问过this question 并想对其进行编辑,但是由于某种原因 StackOverflow 不允许我进行编辑。所以这里是修改后的版本


例如一个查询:

           create volatile table testTable as (select * from ... blah blah) ;
           select top 10 * from testTable  ;
           drop table testTable ;

它作为一个会话在 sql 帮助中完美执行。我确信可以在一个会话中用 Java 执行它。

目标:需要在一个类似于sql assistant的会话中执行,以便在后续的select语句中可以引用volatile表。来自select语句的数据也应该保存在ResultSet


PS 我看到了一个关于 mysql 的similar question 的答案。诀窍是打开allow multiple queries String dbUrl = "jdbc:mysql:///test?allowMultiQueries=true"; 特别是对于 teradata, 解决办法是什么? 我试过了 String dbUrl = "jdbc:odbc:dsn?allowMultiQueries=true";

【问题讨论】:

标签: java teradata


【解决方案1】:

究竟是什么失败了?

是否有错误消息“testtable 不存在”?然后你的程序在每次请求后关闭连接。

执行 SELECT 时表是空的吗?然后你忘了在 CREATE 中添加 ON COMMIT PRESERVE ROWS。

【讨论】:

  • 这确实可以更好地作为评论。
  • 为什么?只有两个可能的错误原因,我都提供了答案:-)
  • 如果是这样,为什么不编辑您的答案以提供两个可能的用例和解决方案,而不是 3 个问题和两个陈述(缺少参考资料或实际解决方案)?
猜你喜欢
  • 1970-01-01
  • 2012-08-15
  • 2014-07-24
  • 2017-02-02
  • 2017-01-11
  • 2016-12-26
相关资源
最近更新 更多