PL/SQL:调用包时找不到正在调用的程序单元



我最近在我们的包中调用另一个包/过程时遇到">程序单元被调用"的问题。

每当我们更改子包或父包中的任何内容并执行父包时,都会在调用子包时显示错误">找不到调用的程序单元"。

验证被调用包的名称是否正确。 检查使用的包或其他对象(函数、过程(,必须编译无误。

Oracle 编译其代码。它不是脚本语言。

这有一些有趣的副作用,我们并不总是预料到。

就我而言(这让我看了这里(,发生这种情况是因为我更改了包定义中的文本常量,但没有重新编译正文。当主体去引用常量时,它已被删除,并在其位置创建了一个新常量......但它仍然在寻找旧物体

如果您神秘地收到此错误消息,可能是因为您引用了重新编译的对象。使用引用重新编译对象,它应该更正。

最新更新