如何使用JDBC执行过程 [英] How to execute a procedure with JDBC

查看:89
本文介绍了如何使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆