下面是一个示例代码,用于调用 Oracle 存储过程:

public void callProcedure() {
    Connection conn = null;
    CallableStatement cs = null;

    try {
        // 获取数据库连接
        conn = getConnection();

        // 调用存储过程
        cs = conn.prepareCall("{call PROCEDURE_NAME(?, ?, ?, ?)}");
        cs.setString(1, "parameter1");
        cs.setString(2, "parameter2");
        cs.setString(3, "parameter3");
        cs.registerOutParameter(4, Types.VARCHAR);
        cs.execute();

        // 获取输出参数的值
        String result = cs.getString(4);

        // 处理返回值
        System.out.println("Result: " + result);

    } catch (SQLException e) {
        e.printStackTrace();
    } finally {
        // 关闭资源
        try {
            if (cs != null) {
                cs.close();
            }
            if (conn != null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

在上面的代码中,getConnection() 方法用于获取数据库连接。PROCEDURE_NAME 表示要调用的存储过程的名称。在调用存储过程时,需要设置输入参数的值,并通过 registerOutParameter() 方法注册输出参数的类型。然后,调用 execute() 方法执行存储过程。最后,通过 getString() 方法获取输出参数的值。

注意,在使用 CallableStatement 调用存储过程时,需要使用“{call 存储过程名称(?,?,...)}”的格式指定要调用的存储过程。其中,问号表示输入或输出参数的占位符。具体的参数值需要通过 setXXX() 方法设置。

用java写一个调用oracle存储过程的方法

原文地址: https://www.cveoy.top/t/topic/bFxZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录