如何定义一个值来接收oracle存储过程输出的值

createorreplacePROCEDUREPROCEDURE1(param1INNUMBER,--50param2INNUMBER,--60param3INNUMB... create or replace PROCEDURE PROCEDURE1( param1 IN NUMBER,--50 param2 IN NUMBER,--60 param3 IN NUMBER,--转账金额 param4 OUT NUMBER --是否成功) ASintval1 NUMBER; intval2 NUMBER;intsal number;BEGIN SELECT count(deptno) into intval1 from dept where deptno= param1; select count(deptno) into intval2 from dept where deptno= param2; if intval1<=0 or intval2<=0 then param4:=1; dbms_output.put_line('账户不存在'); else select sal into intsal from dept where deptno= param1; if intsal< param3 then param4:=2; dbms_output.put_line('用户余额不足'); else update dept set sal=sal+ param3 where deptno= param2; update dept set sal=sal- param3 where deptno= param1; param4:=3; dbms_output.put_line('pk'); commit; end if; end if; END PROCEDURE1; 展开
 我来答
zhoudha
生活家

2016-05-12 · 知世故而不世故地生活
知道大有可为答主
回答量:2.4万
采纳率:91%
帮助的人:265万
展开全部
只能单步调试一下PROCEDURE1存储过程,看看select和update的执行是否有问题。
追问
没有问题,因为已经测试过了
追答
select sal into intsal from dept where deptno= param1;
在sql/plus中执行一下这句话,把param1换成50,把into intsal删掉。
如果是null的话,可能需要改成游标的写法。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式