如何使用JDBC执行过程 [英] How to execute a procedure with JDBC
本文介绍了如何使用JDBC执行过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的功能:
public static void execute_delete_on_db(String pass, String login, String port,
String host, String table_name, String file_path) throws Exception {
Class.forName("oracle.jdbc.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@//"
+ host + ":" + port + "/xe", login, pass);
PreparedStatement statement = null;
Statement stmt = null;
String query = "delete from AA_ALL";
stmt = conn.createStatement();
stmt.executeQuery(query);
sql_statement.close();
conn.commit();
conn.close();
}
至少这是我功能中最重要的部分.上面的代码工作正常.我试图通过调用以下sql语句来执行我的过程:
At least this is the most important part of my function. Above code works fine. I tried to execute my procedure by calling this sql statement :
EXECUTE delete_all_rows_from_table('all');
在Java中,它看起来像这样:
In Java it looked like this :
String query = "EXECUTE delete_all_rows_from_table('all')";
在数据库上它可以正常工作,但是在Java中,这给了我错误. 你能告诉我我在做什么错吗?
On the database it is working fine, but in Java this is giving me the error. Can you tell me what am I doing wrong?
推荐答案
您可以call
您的过程,而不必像这样执行它:
You can call
your procedure and not execute it like so :
String query = "{call delete_all_rows_from_table(?)}";
CallableStatement statement = connection.prepareCall(query);
statement.setString(1, "all");
statement.execute();
您可以在此处了解更多信息: JDBC CallableStatement –存储过程OUT参数示例和 JDBC存储过程
You can learn more here : JDBC CallableStatement – Stored Procedure OUT parameter example and JDBC Stored Procedure
这篇关于如何使用JDBC执行过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文