从java执行存储过程,发送n个参数,但在数据库中等待n+;1.

从java执行存储过程,发送n个参数,但在数据库中等待n+;1.,java,database,oracle,stored-procedures,Java,Database,Oracle,Stored Procedures,我还有下一个问题:我可以从java执行sp,发送5个参数,但在数据库中等待6个参数 是否可能只发送5并且在执行时不显示错误 范例 CallableStatement statement = null; String str = "{ call OWNER.NAMESTOREPROCEDURE (?,?,?,?,?)}"; try{ statement = getConnection().prepareCall(str); statement.setInt(1, value);

我还有下一个问题:我可以从java执行sp,发送5个参数,但在数据库中等待6个参数

是否可能只发送5并且在执行时不显示错误

范例

CallableStatement statement = null;
String str = "{ call OWNER.NAMESTOREPROCEDURE (?,?,?,?,?)}";
try{
    statement = getConnection().prepareCall(str);
    statement.setInt(1, value);
    statement.setString(2, value);
    statement.setInt(3, value);
    statement.registerOutParameter(4, OracleTypes.NUMBER);
    statement.registerOutParameter(5, OracleTypes.VARCHAR);
    statement.execute();
    int error = statement.getInt(4);
    if(error == 0){

    }else{

    }
}catch(SQLException e){
    ...
}
但是sp等待6个参数


谢谢

你试过执行它吗?程序规范是什么?为什么不想传递所有参数呢?是有一个默认参数,还是一个您根本不关心的out参数?如果它会出错,你为什么要隐藏它?是的,我尝试执行@你有什么错误吗?好的,这是一个过程问题,不是代码问题。你应该协调数据库和应用程序的更新,是吗?您可以捕获并忽略调用中的异常,但是(a)这意味着您的应用程序没有执行它应该执行的操作,(b)如果存在其他问题,您也应该隐藏它(而不是执行您应该执行的操作)。