调用带输出参数的存储过程

在单元测试阶段,作者使用Oracle编写了一个小存储过程替代未调通的原存储过程。在调用过程中遇到了输出参数的问题,先是通过百度了解到需要先定义输出参数,然后修改SQL语句使其在数据库中能正确执行。但在代码中调用时,又发现需要将参数用问号代替。最终,经过调整,成功在代码中调用了存储过程,得出结论:未看到最终结果前不要过早乐观。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于项目在单元测试阶段,而程序调用的存储过程还没调通,我就自己在oracle写了一个临时的小存储代替:


没想到好不容易别别扭扭地编译过了,却不知道如何调用

我执行ALL test_proc(0,01,temp_name,msg);,报错了:


我一脸懵b……

赶紧百度,才知道输出参数要先定义才可以传值,把sql语句改为如下:


在数据库运行成功。我以为问题解决了,没想到的是,在代码中调用存储却报错了……


又是一番搜索后,才知道代码里不能直接像数据库这样写,要该成这样:


要把参数用问号代替。终于得到正确的运行结果!!!!!


总结:没看到最终结果,就不要过早乐观。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值