2014-02-06 82 views
1

例如查询:create table ; select xxx ; delete ;如何在teradata中执行多个查询?

如何在一个会话中执行它?

我看到一个关于mysql的similar question的答案。诀窍是专门打开allow multiple queries

String dbUrl = "jdbc:mysql:///test?allowMultiQueries=true"; 

为Teradata, 该如何解决?

我试图

String dbUrl = "jdbc:odbc:dsn?allowMultiQueries=true"; 

它不能正常工作?

+0

我尝试过编辑这个问题,但StackOverflow上由于某种原因,没有让我来编辑。因此,我打开了一个新的问题,一个更详细和更精确的版本http://stackoverflow.com/questions/21605803/executing-multi-statement-query-in-one-session –

+0

http://docs.oracle.com/ javase/tutorial/jdbc/basics/transactions.html – PeterMmm

回答

3

您正在寻找多语句请求(MSR)。它只是发送多个SQL语句到分号分隔的服务器。

但是,您不能在单个MSR中混用DDL和DML,因为必须立即提交DDL并将MSR视为事务(在Teradata会话中运行时)。

尝试两个单独的请求:

create table ; 

select xxx ; delete ; 
+0

+ 1谢谢。我已经在sql助理中完成了多个语句查询:'''''''''''''''''''''''''''''在sql assistant中创建volatile表格testTable(select * from otherTable)从testTable中选择前10 *;并且它工作。我很确定有一种方法可以从Java –

+0

这个问题迁移到http://stackoverflow.com/questions/21605803/executing-multi-statement-query-in-one-session –