下面是一个示例代码,用于调用 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/m9Fq 著作权归作者所有。请勿转载和采集!

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