【问题标题】:Will Static sql (as opposed to Dynamic SQL) invalidate other packages in Oracle静态 sql(相对于动态 SQL)是否会使 Oracle 中的其他包失效
【发布时间】:2011-04-18 23:31:30
【问题描述】:

嗨 如果我编写一个只包含静态 SQL 的自定义包,它会使其他包无效。 (作为打包代码提供的其他第三方包)。

一位同事建议我用Dynamic SQL重新编写自定义包,我不会看到这个问题。我觉得这很难相信,因为第三方包不依赖于我的自定义包, 无论如何,已编译的包应保持编译状态。

-谢谢

【问题讨论】:

    标签: oracle plsql packages


    【解决方案1】:

    它只会使包含您的自定义包作为依赖项的包无效。

    您应该能够在测试环境中向您的同事(和您自己)证明这一点。

    【讨论】:

    • +1:打败我。它不会使整个包无效,只是引用。
    【解决方案2】:

    编译一个新包不会使任何东西失效。根据定义,现有的编译包不能引用您尚未创建的新包。

    重新编译现有的包(可能有一些对其的引用)当然会使现有的包无效。

    【讨论】:

      【解决方案3】:

      没有。带有 DML 语句的包根本不会使任何包无效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-10-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多