oracle - JDBC:像过程一样调用 Oracle 函数
问题描述
我使用 Oracle 程序并对其进行批处理。
CallableStatement st = con.prepareCall ("{call MyProc (123)}");
...
st.addBatch ();
现在该过程被转换为一个函数。因此批处理不再起作用,并且忽略返回值也不起作用。如果我不设置“?=”,则找不到该功能。
CallableStatement st = con.prepareCall ("{? = call MyFunc (123)}");
但是如果没有批处理,运行所有调用需要很长时间。我必须做很多。
那么有没有一种方法可以在不触及函数的情况下忽略 JDBC 级别的返回值?我想要我的批处理。
解决方案
您当然可以使用 Oracle 语法并忽略 PL/SQL 块中的函数值。
像这样的东西
con.prepareCall("""
declare
v_ignore number;
begin
v_ignore := MyFunc (?);
end;""")
推荐阅读
- perl - Perl system() 不在 nano 服务器中等待
- javascript - 特定 Gmail 邮件的回复窗口的网址
- javascript - 如何获取 BrowserWindow 的 url?
- php - CSRF Token保护的意义是什么?
- drag-and-drop - Angular Material 7 拖放 x 和 y 坐标
- php - json 编码不显示任何结果
- c# - CopyToAsync 后文件为空
- html - 使用系统字体功能规范跨浏览器的样式
- laravel - 调用模型 [App\Category] 上的未定义关系 [categories]
- java - 保存对象时休眠序列进入无限循环