当您在Oracle中定义包时,有一个类似标题的部分和一个主体部分。必须在这两个位置中定义所有参数。我想使调用程序(IBM消息代理)中的某个参数成为可选项。我需要在标题和主体定义中都添加默认值吗?
此外,有人能否确认是否可以在不为具有默认值的参数指定任何值的情况下,使用消息代理调用该过程?
谢谢!
更新:我注意到我可以将默认值添加到标题而不是主体,或者可以将其添加到两者之间。我不能只将其添加到主体中。
将它们添加到两种位置和仅添加到标题之间有什么区别?
更新:
我可以在规范中仅指定默认值而不指定主体。或者也可以在两个位置同时指定默认值。有什么区别?
此外,有人能否确认是否可以在不为具有默认值的参数指定任何值的情况下,使用消息代理调用该过程?
谢谢!
更新:我注意到我可以将默认值添加到标题而不是主体,或者可以将其添加到两者之间。我不能只将其添加到主体中。
将它们添加到两种位置和仅添加到标题之间有什么区别?
更新:
我可以在规范中仅指定默认值而不指定主体。或者也可以在两个位置同时指定默认值。有什么区别?
create or replace
package myPackage is
PROCEDURE myProc (
parm1 IN varchar2,
parm1 IN date,
parm1 IN number default null
);
end myPackage;
create or replace
package body myPackage is
PROCEDURE myProc (
parm1 IN varchar2,
parm1 IN date,
parm1 IN number
) is
...
...
...
end myProc;
end myPackage;