oracle - 什么情况导致Oracle软件包无效?

标签 oracle plsql package dependencies

产生此问题的方案:

我们有一个程序包,该程序包是另一个程序包的依赖项,有时对“父”程序包进行更改会导致从属程序包变为无效,但有时不是。

以前让我们感到惊讶。

简单地了解导致失效的原因将非常有用,这样我就可以对其进行预测/计划。

最佳答案

更改包所依赖的任何对象(例如表, View ,触发器,其他包)将自动将该包标记为无效。如上面的tuinstoel所述,Oracle足够聪明,可以在首次使用该软件包时对其进行重新编译。

如果您对此有所担心,则每次更改架构(例如,表, View ,触发器,过程)时,都要运行DBMS_UTILITY.compile_schema(或让DBA进行此操作)。这将强制编译所有软件包,并在您很难找到它们之前让您知道哪里有错误。

关于oracle - 什么情况导致Oracle软件包无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/626267/

相关文章:

java存储过程——Oracle中的资源文件

c# - Oracle Sequence nextval 是来回跳数

sql - 顶尖。在 htp.prn 中调用 proc?

java - 从 Github 安装 Gson

Oracle PL/SQL 打印字符串的每个字母

sql - 选择条件并根据条件SQL生成新列

oracle - PL/SQL错误: PLS-00103: Encountered the symbol “EXCEPTION”

oracle - PL/SQL 嵌套过程异常处理

python - 如何在 Python 中列出所有已安装的包及其版本?

python - 管理包: PyCharm vs conda vs pip