【发布时间】:2014-01-06 10:08:50
【问题描述】:
在阅读 Oracle 应用程序开发人员指南时,我遇到了这些问题-
如果客户端 (Oracle Forms) 包超过 10K 限制,您可以通过将私有变量和过程放在一个或多个中来减小包的大小 “私人包裹。”
有人能解释一下如何创建私有包吗?
也感谢任何有用的链接。
【问题讨论】:
在阅读 Oracle 应用程序开发人员指南时,我遇到了这些问题-
如果客户端 (Oracle Forms) 包超过 10K 限制,您可以通过将私有变量和过程放在一个或多个中来减小包的大小 “私人包裹。”
有人能解释一下如何创建私有包吗?
也感谢任何有用的链接。
【问题讨论】:
oracle 中没有这样的私有包,但您可以在包中使用私有过程或函数,这些私有过程或函数只能由包访问。
包内的过程和函数可以通过不在包规范中声明它们来私有化
还有一点需要注意的是,私有过程或函数只能在包体内调用,我们应该在调用之前声明它们
在您解决 10k 限制问题的情况下,您可以定义一个包装程序包,然后他们调用一个程序包,您可以在其中定义您在包规范和正文中定义的公共程序,并传递所有参数并使用公共程序仅调用私有过程
您可以参考下面的答案,例如
Execute private procedure globally in oracle package
包装包
CREATE OR REPLACE PACKAGE BODY testPackage_Wrapper AS
PROCEDURE publicProc IS
BEGIN
testPackage.publicProc();
END;
【讨论】: