2017-09-26 178 views
-1

如何將SQL Server查詢執行成JDBC這樣的SQL?從jdbc中的一張表中選擇另一張表

select * into bk_table from existing_table 

預計:上面的查詢應通過JDBC來執行。
實際:查詢沒有以任何方式通過JDBC工作。我嘗試了以下兩種方式,但在DBMS中沒有任何反應或影響。

String sql="select * into bk_table from existing_table"; 
    //tried way 1-> result: false 
    statement.execute(sql); 
    //tried way 2-> result: -1 
    statement.executeUpdate(sql); 

現在該怎麼辦?

+0

您想要做什麼?從表中選擇平均檢索記錄。語法:從表中選擇*,而不是。 – Myo

+0

問題在於你的sql查詢,而不是JDBC。你想要達到什麼目的?因爲Myo在我之前說過,Select意味着你想得到一些記錄,所以請解釋你想做什麼。 乾杯! – tobieski

+0

通過在SQL服務器上執行,查詢工作正常,但我想通過JDBC執行此操作。 – islamuddin

回答

0

您需要使用insert-select語句。它可以與executeUpdate被稱爲:

String sql = "INSERT INTO bk_table SELECT * FROM existing_table"; 
statement.executeUpdate(sql); 
+0

我在上面提到的問題,我試過了。這種方式在結果中給出-1,並且什麼也不做。 – islamuddin

+0

@islamuddin不,你嘗試了'executeUpdate'與錯誤的sql('select .. into..')而不是我建議的那個。 – Mureinik

+0

是的,明白了。對不起,我錯過了對細節的關注。感謝您的關注。我試過這種方式,但這不是我預期的方式,因爲您的上述說明建議先創建bk_table。 – islamuddin

0

要選擇從舊錶中的數據, 「SELECT * FROM bk_table」;

若要從舊到現有表中插入選定的數據,「INSERT INTO existing_table SELECT * FROM bk_table」;

+0

請閱讀我的問題。你的答案指的是SQL查詢。我對SQL查詢沒有問題,但是在jdbc上運行這些查詢時非常謹慎。 – islamuddin

相關問題