首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

请问Oracle中存储过程参数有关问题

2014-01-05 
请教Oracle中存储过程参数问题本人刚开始学习Oracle不久,现在遇到个问题,很是困惑,希望知道的各位BOSS级人

请教Oracle中存储过程参数问题
本人刚开始学习Oracle不久,现在遇到个问题,很是困惑,希望知道的各位BOSS级人物能帮我解答下,在此先谢谢各位热心人了请问Oracle中存储过程参数有关问题
下面是两个存储过程的语句,不用看的特别仔细,大体上知道是怎么个逻辑就可以了:
1、过程名:product_inouttype_prc


我的执行语句是:exec PRODUCT_CLINOUTTYPE_PRC('洗衣机');

[解决办法]
cur_pric number;
未赋值就是null

product_inouttype_prc(cur_ctgyid,cur_pric);
进入第一个存储过程 传入了一个null

SYS.DBMS_OUTPUT.PUT_LINE('parmparm_pric的值是:'
[解决办法]
parmparm_pric);
SYS.DBMS_OUTPUT.PUT_LINE('1-parmparm_pric的值是:'
[解决办法]
(1-parmparm_pric));

你打印的就是传入的null

if SQL%found then
parmparm_pric:=SQL%rowcount;
end if;

这里类型inout的第二个参数被赋值为3


product_inouttype_prc(cur_ctgyid,cur_pric);
第一个存储过程结束 cur_pric获得传出的值:3

if cur_pric>0 then
SYS.DBMS_OUTPUT.PUT_LINE('共修改'
[解决办法]
cur_pric
[解决办法]
'条记录。');
end if;

因为你声明的是inout 所以product_inouttype_prc结束后,out类型的参数获得了值。

热点排行