java调用oracle的delete操作存储过程

使用:...CallableStatementproc=null;proc=conn.prepareCall("{callZHL_PACKAGE(?)}");...可以调... 使用:
...
CallableStatement proc = null;
proc = conn.prepareCall("{call ZHL_PACKAGE(?)}");
...
可以调用一个接收一个参数的存储过程ZHL_PACKAGE,但如果这个存储过程执行的是

delete操作,比如叫DEL_PROC,但这里写成:
proc = conn.prepareCall("{call ZHL_PACKAGE1}");
它是不识别的,提示错误的函数名或存储过程名,应该如何修改呢?

使用prepareCall()不行

谢谢!
问题补充:
存在ZHL_PACKAGE1,两个过程可以
是说在java中调用存储过程必须用PACKAGE么?另外,Java中调用的存储过程可以不带参数么?例如DELETE
展开
 我来答
百度网友eacb80a
2010-08-10 · TA获得超过116个赞
知道答主
回答量:83
采纳率:0%
帮助的人:47.5万
展开全部
你可以这样写试试:conn.prepareCall("{call ZHL_PACKAGE1()}");
即加个括号
如果有包的话,一定要加包名.存储过程名。
Java中调用的存储过程可以不带参数,也就是说可以没有括号,不过我习惯性的都加上。
希望能帮到你。
边城兔子
2010-08-13
知道答主
回答量:13
采纳率:0%
帮助的人:13.2万
展开全部
如果是仅是一条delete语句最好就使用PrepareStatement,示例如下:
PreparedStatement pstm=con.prepareStatement(sql);
sql中可以嵌入?作为绑定变量,然后用
pstm.setString(1,传入的值);设置绑定变量的值;

java中调用存储过程不是必须非得用包,调用过程可以不带参数,如下:
{call 过程名} ,不带括号即可,如:
proc = conn.prepareCall("{call DEL_PROC}");--DEL_PROC是过程名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式