我可以使用以下语法的call语句调用pl/sql函数:
String call = "{ ? = call p_some_package.some_function( ?, ?, ?, ?, ?) }";
CallableStatement cs = connection.prepareCall(call);
Run Code Online (Sandbox Code Playgroud)
但是我必须使用它们的索引传递参数,因为我必须注册返回值,它没有名称:
cs.registerOutParameter(1, OracleTypes.NUMBER);
cs.setInt(2, someInteger);
...
Run Code Online (Sandbox Code Playgroud)
但是在调用过程时,我可以提供参数名称,因为没有"无名"out参数,因为有一个函数:
cs.setInt("param_name", param_value);
Run Code Online (Sandbox Code Playgroud)
Oracle pl/sql参考声明,对于函数,Oracle会创建一个返回的额外OUT参数.所以我的问题是:是否可以传递此参数的名称或以某种方式为此参数指定名称,并使用它将参数传递给JDBC中的pl/sql函数,就像我为程序做的那样?
类似的问题,没有答案: Java命名参数的名称(用于Oracle JDBC函数结果)