在阅读Oracle Applications Developer's Guide时,我遇到了这些问题 -
如果客户端(Oracle Forms)包超过10K限制,您可以通过将私有变量和过程放在一个或多个中来减小包的大小 “私人包裹。”
有人可以解释如何创建私人套餐吗? 任何有用的链接也表示赞赏。
答案 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;