【问题标题】:Oracle forms 10g - Private packagesOracle forms 10g - 私有包
【发布时间】:2014-01-06 10:08:50
【问题描述】:

在阅读 Oracle 应用程序开发人员指南时,我遇到了这些问题-

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

有人能解释一下如何创建私有包吗?
也感谢任何有用的链接。

【问题讨论】:

    标签: oracleforms oracle-apps


    【解决方案1】:

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

    包内的过程和函数可以通过不在包规范中声明它们来私有化

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

    在您解决 10k 限制问题的情况下,您可以定义一个包装程序包,然后他们调用一个程序包,您可以在其中定义您在包规范和正文中定义的公共程序,并传递所有参数并使用公共程序仅调用私有过程

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

    Execute private procedure globally in oracle package

    包装包

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

    【讨论】:

    • 在该文档中,他们给出了即使包体也不允许容纳超过 10K。所以去私人包。我知道如何创建私有过程来分块过程的大小。但是如何限制包的大小(使用私有包)是我想知道的。感谢您的想法。
    • 虽然麻烦,但是你可以尝试使用包装器包来调用调用私有过程或函数的包中的公共过程
    • 在答案中包含了包装器包
    猜你喜欢
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 2021-10-16
    • 1970-01-01
    相关资源
    最近更新 更多