Oracle表单10g - 私有包

时间:2014-01-06 10:08:50

标签: oracleforms oracle-apps

在阅读Oracle Applications Developer's Guide时,我遇到了这些问题 -

如果客户端(Oracle Forms)包超过10K限制,您可以通过将私有变量和过程放在一个或多个中来减小包的大小 “私人包裹。”

有人可以解释如何创建私人套餐吗? 任何有用的链接也表示赞赏。

1 个答案:

答案 0 :(得分:2)

在oracle中没有这样的私有包,但你可以在包中使用私有过程或函数,只能由包访问。

通过不在包规范

中声明它们,可以使包内的过程和函数变为私有

需要注意的另一点是私有过程或函数只能在包体内调用,我们应该在它们被调用之前声明它们

在您解决10k Limit问题的情况下,您可以定义一个包装器包并调用一个包,您可以在其中定义一个在包规范和主体中定义的公共过程,并传递所有参数并仅使用公共过程调用私有程序

你可以参考下面的答案,例如

Execute private procedure globally in oracle package

包装包

 CREATE OR REPLACE PACKAGE BODY testPackage_Wrapper AS
 PROCEDURE publicProc IS
 BEGIN
 testPackage.publicProc();
 END;