2014-02-06 86 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 –