我想在Java中執行查詢。在java中執行多個SQL語句
我創建了一個連接。然後我想執行INSERT
語句,完成後,連接關閉,但我想通過連接執行一些插入語句,並在循環完成後關閉連接。
我該怎麼辦?
我的示例代碼:
public NewClass() throws SQLException {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your Oracle JDBC Driver?");
return;
}
System.out.println("Oracle JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:orcl1", "test",
"oracle");
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
return;
}
if (connection != null) {
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * from test.special_columns");
while (rs.next()) {
this.ColName = rs.getNString("column_name");
this.script = "insert into test.alldata (colname) (select " + ColName + " from test.alldata2 ) " ;
stmt.executeUpdate("" + script);
}
}
else {
System.out.println("Failed to make connection!");
}
}
當執行select語句("SELECT * from test.special_columns"
),循環必須是兩次,但是當(stmt.executeUpdate("" + script)
)被執行和完成,然後關閉連接,並從返回類。
是否有可能是您有異常? – Jens
我不這麼認爲,因爲當我打印腳本並在sqlPlus上執行它們時,它們都可以,並且插入成功 –
向循環中添加一些'System.out.println()'語句以查看發生了什麼或使用調試器。 – Jens