急!!!PROCEDURE 传值问题

zdljj 2008-09-27 03:08:54
我有很多的packages文件会调用这个公共的PROCEDURE.现在有个新的需求在调用的时候需要多传一个值.这样我以前所有的packages都有问题了.请问有什么好的解决办法.

...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gz442060097 2008-10-07
  • 打赏
  • 举报
回复
重寫或重載!!
robin_ares 2008-09-27
  • 打赏
  • 举报
回复
重载呗
原来 procedure aa(
a in number default 0
)

现在加一个 procedure aa(
a in number default 0,
b in number default null
)
.....
.....
if b is null then
aa(a);
else
...
end if;
sleepzzzzz 2008-09-27
  • 打赏
  • 举报
回复
无论怎么样都要重写的.
你可以这样,传参进来的时候,用分隔符拼成一个值,然后在PRO里对其进行分拆.

vc555 2008-09-27
  • 打赏
  • 举报
回复
可以啊。你设个默认值,那么在调用时既可以指定这个参数,也可以不指定这个参数。
OPER@tl>create or replace procedure p_xxx(v_in number default 1)
2 as
3 begin
4 dbms_OUTPUT.put_line(v_in);
5 end;
6 /

过程已创建。

OPER@tl>exec p_xxx
1

PL/SQL 过程已成功完成。

OPER@tl>exec p_xxx(2);
2

PL/SQL 过程已成功完成。

OPER@tl>
zdljj 2008-09-27
  • 打赏
  • 举报
回复
这样也可以实现.想问问看还有其他办法吗?有没有选项关于传的值是可选的那种.
scqsoft 2008-09-27
  • 打赏
  • 举报
回复
重写这个PROCEDURE,在你新的需求里调用,这样你的其它文件都不用动了

zdljj 2008-09-27
  • 打赏
  • 举报
回复
不知道大家看懂了没有.

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧